Я хотел бы создать JPA запрос на основе этих таблицJPA многих один/один ко многим запрос
**category**
(pk)CategoryID int (10)
category VARCHAR (45)
**templatecat**
(pk/fk)templateId int(10)
(pk/fk)categoryId int (10)
**template**
(pk)templateId int (10)
template madiumtext
У меня также есть «tempaltecat» таблицу, которая содержит внешние ключи для категории и шаблона table.I` d хотел бы создать запрос, который находит все шаблоны в таблице шаблонов на основе категории и наоборот.
Вот моя таблица отображения
@Entity
@Table(name = "category")
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "templatecat", joinColumns = { @JoinColumn(name = "categoryId", unique = true) }, inverseJoinColumns = { @JoinColumn(name = "templateId") })
private Set<Template> template;
@Entity
@Table(name = "template")
@ManyToOne(optional = true)
@JoinTable(name = "templatecat", joinColumns = { @JoinColumn(name = "templateId") }, inverseJoinColumns = { @JoinColumn(name = "categoryId") })
private Category category;
Заранее спасибо
Я думаю, что мое отношение верно, потому что одна категория может иметь много шаблонов, но один шаблон не может иметь более одной категории. Однако я думаю, что мой вопрос был немного неясным, мне бы хотелось найти все шаблоны по названию данной категории , –
Итак, почему вы не используете '@ OneToMany' (в категории) и отношение' @ ManyToOne' (в шаблоне)? Таким образом, вам не понадобится промежуточная таблица, и запрос будет выглядеть следующим образом: 'select o.templates из категории o, где o.name =?' – leozin