这似乎是一个非常简单的问题,但我还没有找到明确的答案。我有一个 DAO 类,它自然地使用标准查询来查询数据库。所以我想知道使用相同的 CriteriaBuilder 实现来创建不同的查询是否安全,或者我是否必须为每个查询创建新的 CriteriaBuilder 实例。以下代码示例应该说明我想要做什么:
public class DAO() {
CriteriaBuilder cb = null;
public DAO() {
cb = getEntityManager().getCriteriaBuilder();
}
public List<String> getNames() {
CriteriaQuery<String> nameSearch = cb.createQuery(String.class);
...
}
public List<Address> getAddresses(String name) {
CriteriaQuery<Address> nameSearch = cb.createQuery(Address.class);
...
}
}
这样做可以吗?