我有一个包含几个命名查询来获得数据的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;
...........
我必须从服务层方法内访问该命名查询的结果。 于是,我就Hibernate的Session工厂自动装配到服务层类。
@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层逻辑。 这是访问的命名查询正确的方法是什么?
注:我没有一个DAO接口或类以上MyTable的类。