如何避免将FQCN放入SELECT NEW ...
?
在重构过程中经常更改包,这可能会导致麻烦。
不确定我是否可以在JPA中为此做些什么;我也对Hibernate 3.6解决方案(Ejb3Configuration
)感到满意。
请注意,SELECT NEW
中使用的类不是实体,因此<class>
中persistence.xml
的标准技巧不起作用(YMMV)。
答案 0 :(得分:2)
根据规范,构造函数名称必须是完全限定的,JPA规范4.8.2。所以不,你无法避免它。为什么你不能只使用MyClass.class.getName()从而应对重构?
答案 1 :(得分:0)
不是直接的答案,但真正的重构也会改变查询中的包。你可以考虑为你的重构选择一个更好的工具,如果这是阻碍你的那个。