0

StateMachineのような、キーと値のペアモデルのすべての状態を含むテーブルがあります。

stateId StateName

1開始2開始

class DeviceStates  {

    private int deviceStateId;
    private String deviceStateName;

}

デバイステーブルでこのStateMachineテーブルを参照しました

class Device   {

   private Integer deviceId;
   private String serialNum;
   private Date lastModifiedDate;
   private DeviceStates deviceStatesByDeviceStateId;

}

検索のために、デバイステーブルからいくつかのDeviceStateを除外する必要があります。私が使用する基準の書き方を教えてください

デバイスからいくつかのDeviceStatesをフィルターで取得できるはずです

どんな助けもいただければ幸いです...

4

1 に答える 1

0
Criteria c = session.createCriteria(Device.class, "device");
c.createAlias("deviceStatesByDeviceStateId", "state");
c.add(Restrictions.in("state.id", setOfAcceptedStateIds));

DeviceStateクラスに名前が付けられている場合(クラスの各インスタンスは1つの状態のみであるため)、フィールドに。stateの代わりに名前が付けられている場合、コードははるかに読みやすくなりますdeviceStatesByDeviceStateId

于 2012-09-04T05:55:29.023 に答える