我在NHibernate Criteria搜索中遇到多个连接有困难。假设我有一张宠物桌,我想要归还宠物类别为Dog的所有宠物,并且所有者性别为女性,由宠物生日订购。我已经尝试了一堆排列,我怎么能得到这个但却无法弄明白。我的最新迭代如下:
var recentPets = session.CreateCriteria(typeof(Pet))
.AddOrder(Order.Desc("PetBirthday"))
.CreateCriteria("PetType", "pt", JoinType.InnerJoin)
.CreateCriteria("PetOwnerId", "po", JoinType.InnerJoin)
.Add(Expression.Eq("pt.PetTypeName", petType))
.Add(Expression.Eq("po.PersonGender", gender))
.List<Pet>();
非常感谢你的帮助!
答案 0 :(得分:1)
您是否有理由不使用Hibernate / Java持久性查询语言来执行查询?
select p from Pet p
join p.owner o
where o.gender = :gender
and p.type.name = :petType
order by p.birthday