为什么在所有教程中都在实体类中编写命名查询。它是逻辑部分

时间:2014-12-03 13:57:04

标签: java persistence named-query

好的做法是在POJO类中没有任何逻辑,但NamedQuery包含一些逻辑

1 个答案:

答案 0 :(得分:0)

更多的是你在这里遇到的“生成代码”问题。大多数实际开发人员根本不在Entity类中编写命名查询。把它放在那里是没有意义的。但是当您使用代码生成器生成实体类时,它会始终在顶部放置一个“查找全部”类型的命名查询。这主要是因为代码生成器不知道您需要什么类型的命名查询。他们猜测“找到所有”一个适合所有人,但我个人从来没有用户直接在任何实体上查找所有类型的查询。总会有一些谓词。

对我来说,命名查询的最佳位置是:

  • 对于大量的:XMl文件
  • 对于少数人来说,使用java类并使用注释。