我对 Hibernate 有这个问题,当我尝试使用标准检索唯一结果时,hibernate 会返回表中的所有内容。
Session session = HibernateUtil.beginTransaction();
Customer c = new Customer();
c.setCustId(custId);
Example ex = Example.create(c);
Criteria criteria = HibernateUtil.getSession().createCriteria(Customer.class);
criteria.add(ex);
Customer customer = (Customer)criteria.uniqueResult();
HibernateUtil.commitTransaction();
HibernateUtil.closeSession();
但是使用以下方式查询表:
Customer customer = (Customer)session
.createSQLQuery("select * from customer_ where custid = :id")
.addEntity(Customer.class)
.setInteger("id", custId)
.uniqueResult();
返回正确的条目。
custId
是表的主键。该类Customer
包含2个@OneToMany
映射。
我需要在上面的标准示例中添加一些内容吗?