我对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
映射。
我是否需要在上面的标准示例中添加内容?