0

休止状態の第一人者に質問があります

私は3つのテーブルを持っていUserますCar、、CarList

カルリストは多対多です

user --< carlist >-- car

カーリストを照会するために、組み込みのfindByExampleを使用しようとしています。

これまでのところ、次のように1つのテーブルでそれを行う方法を見つけました。

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();
4

1 に答える 1

0

わかりました、私はそれを行うための1つの方法を考え出しました:

    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。私はそれを右にスキップしました。やった!これを行うには他にどのような方法があるのだろうか?

于 2013-03-06T20:51:20.483 に答える