Session 接口方法 createQuery(String queryString) 已弃用。为什么它被弃用?它已经过时了,但还没有提出任何替代方案。是否有类似的字符串 HQL 删除操作的方法。
对于删除/更新/插入操作,它工作正常,但它被标记为已弃用
您考虑过使用
@NamedQuery
吗?
@Entity
public class Person {
@NamedQueries({
@NamedQuery(
name = "person.findByName",
query = "from Person where name = :name"
)
})
@Id
private long id;
private String name;
}
public class PersonDao {
private final Session session;
public PersonDao(Session session) { this.session = session; }
public List<Person> findByName(String name) {
Query<Person> query = session.createNamedQuery("person.findByName", Person.class);
query.setParameter("name", name);
return query.list();
}
}