У меня есть именованный запрос, который извлекает UgAcyearExamSchedule
interms из списка выглядит следующим образом:Hibernate Не задано значение для параметра
@NamedQuery(name="UgAcyearExamSchedule.getByDetail",
query="select u FROM UgAcyearExamSchedule u where
u.ugAcyearExamScheduleDetails=:ugDetails")
где ugAcyearExamScheduleDetails
определяется в UgAcyearExamSchedule
следующим образом:
@OneToMany(mappedBy="ugAcyearExamSchedule")
private List<UgAcyearExamScheduleDetail> ugAcyearExamScheduleDetails;
, когда я пытался для установки параметра для этих запросов следующим образом:
Query query = em.createNamedQuery("UgAcyearExamSchedule.getByDetailAndDeptYear");
query.setParameter("ugDetails",details);
List<UgAcyearExamSchedule> examSChedules = (List<UgAcyearExamSchedule>) query.getResultList();
следующие исключения arrises:
ERROR: No value specified for parameter
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
Я не знаю, что основную причину этих проблем, заранее спасибо
Он использует API JPA API (EntityManager), а не Hibernate API (SessionFactory). createNamedQuery - это то, что он должен использовать. Вот ссылка, которая может помочь вам http://www.datanucleus.org/products/accessplatform_4_2/jpa/jpql.html#Named_Query –