SQLServer2005で次のクエリがあります。
SELECT distinct(user.id_user), user.name, user.familyname from tbl_users users
inner join tbl_notes notes on users.id_user = notes.id_user
where notes.id_book = 1
必要なすべてのクラスがマップされており、HibernateAPIを使用して作成する必要があります。これまでに次のコードを記述しましたが、nullを返します。
hibernateSession = HibernateUtil.getSessionFactory().openSession();
criteria = hibernateSession.createCriteria(TblUsers.class, "users")
.createCriteria("users.id_user", "tblNotes")
.add(Restrictions.eq("tblNotes.idBook", idBook));
criteria.setProjection(Projections.projectionList()
.add(Projections.distinct(Projections.property("users.idUser")))
.add(Projections.property("users.name"))
.add(Projections.property("users.familyName")));
ret = criteria.list();