0

我有一个StateMachine表,其中包含键值对模型中的所有状态,例如:

stateId 州名

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;

}

我必须从 Device 表中过滤掉几个 DeviceStates 进行搜索。请帮助我如何编写我使用的标准

应该能够从 Device 中过滤掉一些 DeviceStates

.

任何帮助,将不胜感激...

4

1 回答 1

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

如果类被命名DeviceState(因为类的每个实例是一个且只有一个状态),并且如果该字段被命名state而不是deviceStatesByDeviceStateId.

于 2012-09-04T05:55:29.023 回答