У меня есть два объекта с отношением OneToMany. Чтобы сделать его простым, давайте предположим, что они - Школа и Студенты, с однонаправленными отношениями от школы к учащимся. Я хочу найти объект школы, в котором есть конкретный ученик (студент с определенным возрастом, именем, ssn, ...). Я знаю, что я могу создать простой критерий, как следующие за свойство простых Школы (для названия школы, как следующее):JPA CriteriaQuery OneToMany
ParameterExpression<String> p = criteriaBuilder.parameter(String.class, "schoolName");
criteria = criteriaBuilder.and(criteria, criteriaBuilder.like(schoolRoot.get("schoolName") , p));
queryResult.setParameter("schoolName", schoolName + "%");
, но, как я могу запросить студент с определенным значением свойства в то время как студенты в представленный как java.util.List
, а не как основное свойство?
Может ли кто-нибудь помочь мне понять это? Надеюсь, я смог объяснить свою проблему.
Благодаря
Новое в jpa здесь. Как вы получили «School_.students». Я пытаюсь подобным образом, но не знаю, что это означает '_'. –
@ Генерация метамодели VijayKalidindi в JPA, посмотрите на это. https://docs.jboss.org/hibernate/orm/5.0/topical/html/metamodelgen/MetamodelGenerator.html – BalaajiChander