0
我嘗試使用Hibernate遵循的chapter 9Hibernate的元組標準查詢
的差額部分9.2和我試圖給出的例子來創建一個查詢是我使用Spring MVC的3.0。這是我的地址類以及我創建的方法。
@RooJavaBean
@RooToString
@RooEntity
@RooJson
public class Address {
@NotNull
@Size(min = 1)
private String street1;
@Size(max = 100)
private String street2;
private String postalcode;
private String zipcode;
@NotNull
@ManyToOne
private City city;
@NotNull
@ManyToOne
private Country country;
@ManyToOne
private AddressType addressType;
@Transient
public static List<Tuple> jqgridAddresses(Long pID){
CriteriaBuilder builder = Address.entityManager().getCriteriaBuilder();
CriteriaQuery<Tuple> criteria = builder.createTupleQuery();
Root<Address> addressRoot = criteria.from(Address.class);
criteria.multiselect(addressRoot.get("id"), addressRoot.get("street1"), addressRoot.get("street2"));
criteria.where(builder.equal(addressRoot.<Set<Long>>get("id"), pID));
return Address.entityManager().createQuery(criteria).getResultList();
}
}
上述方法稱爲jqgridAddresses
是重點。我選擇不使用「路徑」,因爲當我說類似Path idPath = addressRoot.get(Address_.id);如文檔9.2節所述,PathAddress_.id東西會產生編譯錯誤。
上面的方法返回一個類型爲Tuple
的空列表,因爲它的大小爲零,即使它應該包含某些東西。這表明查詢失敗。有人可以請教我。