条件を使用して一意の結果を取得しようとすると、休止状態がテーブルからすべてのコンテンツを返すという、休止状態に関するこの問題があります。
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
マッピングが含まれています。
上記の条件の例に何か追加する必要がありますか??