0
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가 주어진 문자열과 같은 모든 호텔을 찾고 싶습니다. 내가스프링 데이터 jpa 단방향 many-to-one에 대한
이-
주어, 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); }
;
- 호텔 도시를 구한 다음 1 번 결과와 비교해보십시오.
뭔가 잘못되었습니다. 그것은 사양을 사용하여 내 처음이야, 모든 정보가 도움이됩니다. 감사합니다. .