我对一些休眠大师的问题有一个问题
我有3个表User
,Car
,CarList
Carlist是多对多的
user --< carlist >-- car
我正在尝试使用内置的findByExample来查询carlist。
到目前为止,我已经找到了如何在一个表上执行此操作:
List results = session.createCriteria(CarSearchList.class)
.add(Example.create(instance))
.createCriteria("car")
.add(Example.create(instance.getCar()))
.list();
但是我怎样才能在汽车和用户桌上做到这一点?我在下面尝试了这个,但它失败了:
List results = session.createCriteria(CarSearchList.class)
.add(Example.create(instance))
.createCriteria("car")
.add(Example.create(instance.getCar()))
.createCriteria("user")
.add(Example.create(instance.getUser()))
.list();
答案 0 :(得分:0)
好的,我想出了一种方法:
List results = session.createCriteria(CarSearchList.class)
.add(Example.create(instance))
.createAlias("car", "car")
.createAlias("user", "user")
.add( Restrictions.eqProperty("car.carId", "user.userId"))
.list();
从手册17.4。我跳过了正确的通过它。咄!我想知道还有什么方法可以做到这一点吗?