Hibernate的dot-based级联表查询HQL可以算是能够大大提高生产力的特性之一,比如
User (1) —- (1) City
一般会在User对象中维护一个City对象,然后使用以下方式进行查询:
sessionFactory.createQuery("from User where city.name=?").setString(0, "Shanghai")
但是上面的思路在今天使用Criteria时出现了问题,一直报错找不到属性”city.name”。经过再三google,原来是使用Criteria时需要自己维护级联关系,即
Criteria userCriteria = sessionFactory.createCriteria(User.class);
Criteria cityCriteria = userCriteria.createCriteria("city").add(Restrictions.eq("name", "Shanghai");
这个问题搞了一晚上,坑爹啊~
-- EOF --
除非注明(如“转载”、“[zz]”等),本博文章皆为原创内容,转载时请注明: 「转载自程序员的信仰©」
本文链接地址:又掉进Hibernate的坑里了——使用Criteria查询级联表
Today on history:
【2022】设计十诫 - 迪特·拉姆斯(Dieter Rams)
【2007】到家了
【2007】搬家
发表回复