JPA 2.0:如何避免`SELECT NEW full.class.Name`中的完整类名?

时间:2011-08-03 01:39:05

标签: hibernate jpa constructor jpa-2.0

如何避免将FQCN放入SELECT NEW ...

在重构过程中经常更改包,这可能会导致麻烦。

不确定我是否可以在JPA中为此做些什么;我也对Hibernate 3.6解决方案(Ejb3Configuration)感到满意。

请注意,SELECT NEW中使用的类不是实体,因此<class>persistence.xml的标准技巧不起作用(YMMV)。

2 个答案:

答案 0 :(得分:2)

根据规范,构造函数名称必须是完全限定的,JPA规范4.8.2。所以不,你无法避免它。为什么你不能只使用MyClass.class.getName()从而应对重构?

答案 1 :(得分:0)

不是直接的答案,但真正的重构也会改变查询中的包。你可以考虑为你的重构选择一个更好的工具,如果这是阻碍你的那个。