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

发布于 2024-11-27 11:58:39 字数 298 浏览 1 评论 0原文

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

重构过程中经常会改变包,这可能会带来麻烦。

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

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

How can I avoid putting FQCN into SELECT NEW ...?

Packages are often changed during refactoring, and that may cause troubles.

Not sure if I can do something for that in JPA; I am also happy with Hibernate 3.6 solution (Ejb3Configuration).

Note that class used in SELECT NEW is not an entity, so standard trick with <class> in persistence.xml doesn't work (YMMV).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

够运 2024-12-04 11:58:39

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

As per the spec, the constructor name has to be fully qualified, JPA spec 4.8.2. So no, you can't avoid it. And why can't you just use MyClass.class.getName() and hence cope with refactorings?

苦行僧 2024-12-04 11:58:39

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

Not a direct answer, but a true refactoring will change the package in the query, too. You might consider choosing a better tool for your refactorings if that's what's holding you back.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文