2
我在使用注释的Hibernate实体类中使用命名查询。
如果每个实体类有多个查询,我应该遵循哪些最佳实践?在Entity类中使用命名查询的最佳做法是什么?
Note: We have ruled the idea of putting queries in any property file or hbm.xml file
我在使用注释的Hibernate实体类中使用命名查询。
如果每个实体类有多个查询,我应该遵循哪些最佳实践?在Entity类中使用命名查询的最佳做法是什么?
Note: We have ruled the idea of putting queries in any property file or hbm.xml file
@Entity
@NamedQueries({@NamedQuery(name = User.byUsername, query = "select u from User u where u.username = :username"),
@NamedQuery(name = User.follows, query = "select u from Follow as f inner join f.following as u where f.user = :user")})
public final class User extends Base implements UserDetails {
static public final String byUsername = "User.byUsername";
static public final String follows = "User.follows";
...
}
之后就可以引用User.byUsername
等其他地方,所以只有一个字符串参考。你可以获得所有预测intellitext的好处。像下面这样:
Session session = sessionFactory.getCurrentSession();
Query query = session.getNamedQuery(User.follows);
在我的情况下UI传递查询名称,但它是一个有用的提示。谢谢 –