目前使用的EclipseLink JPA 2.4.2有一堆通過@IdClass方法,使用組合鍵存儲在數據庫中的對象,即:如何選擇包含複合鍵的對象列表?
@Entity
@IdClass(ThingsPK.class)
public class MyBunchOfThings {
@Id
@GeneratedValue(generator="ID_SEQ")
@SequenceGenerator(name="ID_SEQ")
private Integer id;
@Id
private Date timestamp;
...
}
public class ThingsPK {
private Integer id;
private Date timestamp;
}
如果我需要通過選擇一些這些東西select in子句中,如何通過JPQL和複合主鍵來完成此操作?
例如
List<ThingsPK> keyList = ...
TypedQuery<MyBunchOfThings> query = em.createQuery("SELECT t FROM MyBunchOfThings t WHERE t.??? IN :keyList", MyBunchOfThings.class);
query.setParameter("keyList", keyList);
List<MyBunchOfThings> foundThings = query.getResultList();
:
或者你可以嘗試下面的查詢?我的意思是你爲什麼不用Integer留下它? –
我們在時間戳上使用Oracle分區。 – tellisnz