データを取得するためのいくつかの名前付きクエリを含む pojo があります。
@NamedQueries({
@NamedQuery(name="abc", query="test")
})
@Entity
@Table(name = "MY_TABLE")
public class MyTable implements java.io.Serializable{
private long id;
private String name;
...........
サービス層メソッド内からこの名前付きクエリの結果にアクセスする必要があります。そこで、休止状態のセッション ファクトリをサービス レイヤー クラスに自動接続しようとしました。
@Service
public class MyServiceClass{
@Autowired
SessionFactory sessionFactory;
..........
public void myMethod() {
Session session = acceSessionFactory.getCurrentSession();
Query query = session.getNamedQuery("abc").setInteger("id", 1).setString("name", "testname");
MyTable mytablerow = (MyTable) query.uniqueResult();
.......
}
ただし、上記のアプローチでは、サービスレイヤーにdaoレイヤーロジックがあると思います。これは、名前付きクエリにアクセスする正しい方法ですか?
注: 上記の MyTable クラスの DAO インターフェイスまたはクラスはありません。