[英]Spring data jpa specification for unidirectional many-to-one
public class Hotel{
@ManyToOne(optional = false)
@NotNull
@JoinColumn(name = "hotel_city", referencedColumnName = "city_id")
private City city;
}
public class City{
@Column(name = "public_id", updatable = false, unique = true)
@NotEmpty
private String publicId;
}
我想找到城市的publicId等於給定字符串的所有酒店。
public Predicate toPredicate(Root<Hotel> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
Subquery<City> subquery = query.subquery(City.class);
Root<City> subRoot = subquery.from(City.class);
Predicate cityIdPredicate = cb.equal(subRoot.get("publicId"), criteria.getValue().toString());
return cb.equal(root.get("city"), cityIdPredicate);
}
我正在嘗試使用上面的代碼來
似乎出了點問題。 這是我第一次使用規范,任何提示都將有所幫助。 謝謝。
大聲笑,我只是找到了最簡單的解決方案。
return cb.equal(root.get("city").get("publicId"), criteria.getValue().toString());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.