アノテーション付きのHibernateEntityクラスで名前付きクエリを使用しています。
エンティティクラスごとに複数のクエリを実行する場合に従うべきベストプラクティスは何ですか?
Note: We have ruled the idea of putting queries in any property file or hbm.xml file
アノテーション付きのHibernateEntityクラスで名前付きクエリを使用しています。
エンティティクラスごとに複数のクエリを実行する場合に従うべきベストプラクティスは何ですか?
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
その後、他の場所でetcを参照できるため、文字列参照は1つだけです。そして、あなたはすべての予測インテリテキストの良さを手に入れます。以下のように:
Session session = sessionFactory.getCurrentSession();
Query query = session.getNamedQuery(User.follows);