Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 将实体管理器传递给自定义验证器_Validation_Jpa - Fatal编程技术网

Validation 将实体管理器传递给自定义验证器

Validation 将实体管理器传递给自定义验证器,validation,jpa,Validation,Jpa,我希望创建一个自定义验证器,当存在继承时,该验证器能够在多个表中具有唯一的键。我需要将实体管理器传递给这个自定义验证器或验证器工厂如何做? 编辑 我将EJB(glassfish)与jpa(Eclipse链接)和JSR303一起使用。正如JSR330(DI)所述: Bean验证提供的默认ConstraintValidatorFactory 提供程序实现使用 约束验证器类。可以创建自定义约束验证数据工厂 假如例如,它可能受益于依赖项注入控制 在约束实现中。任何约束实现依赖于 关于特定于实现的Cons

我希望创建一个自定义验证器,当存在继承时,该验证器能够在多个表中具有唯一的键。我需要将实体管理器传递给这个自定义验证器或验证器工厂如何做? 编辑 我将EJB(glassfish)与jpa(Eclipse链接)和JSR303一起使用。

正如JSR330(DI)所述:

Bean验证提供的默认ConstraintValidatorFactory 提供程序实现使用 约束验证器类。可以创建自定义约束验证数据工厂 假如例如,它可能受益于依赖项注入控制 在约束实现中。任何约束实现依赖于 关于特定于实现的ConstraintValidatorFactory行为 (依赖项注入、无参数构造函数等)不是 被认为是便携式的,因此在行走前应特别小心 那条路

因此,您可以创建
ConstraintValidatorFactory
或使用手动查找:

Context ctx = new InitialContext();
MyClass myClass = (MyClass) ctx.lookup("urlTo" + MyClass.class.getName())

是的,我使用的是bean验证,你使用的是Spring?不是,是EJB。我将编辑问题我可以看到您未接受的答案,您是否仍有将
EntityManager
注入您的验证器的问题?不,它工作正常,我可能是错误地接受了它,sry。