У меня возникла одна проблема относительно отношений много к одному в JPA. Проблема, которую я получаю в этот момент, - получить данные, используя предложение where.Многие к одному поисковому запросу
Skills
класс:
@Id
private long skillsID;
@Basic
private String longDescription;
@Basic
private String shortDescription;
@Basic
private String colOrder;
@Basic
private String isActive;
@Basic
private String changeDate;
@ManyToOne(fetch=FetchType.EAGER)
private Category category;
второй субъект:
Category
класс:
@Id
private long categoryID;
@Basic
private String name;
@Basic
private String colOrder;
@Basic
private String isActive;
@Basic
private String changedDate;
@OneToMany(mappedBy = "category")
private Collection<Skills> skills;
Таким образом, в JPA, когда я преобразования приложений следующий код, он бросить меня исключение, как:
java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Problem compiling [SELECT s.longDescription from Skills s, Category c where s.categoryID = c.categoryID].
[57, 69] The state field path 's.categoryID' cannot be resolved to a valid type.
JPA Кодекс:
Query q = em .createQuery("SELECT s.longDescription from Skills s, Category c "+
"where s.categoryID = c.categoryID");
Итак, как я могу получить данные из Skills
в Category
на основе внешнего ключа?
Там нет необходимости орать на нас. –