У меня есть два объекта, которые во многих отношениях, и я не могу загрузить Set <Category> categories
. Эти поля заполняются в базе данных.Spring MVC - загрузка данных из базы данных
@Entity
@Table(name="Product")
public class Product {
@Id
@GeneratedValue
private int idProduct;
private String status;
private String name;
@ManyToMany(fetch = FetchType.EAGER, mappedBy= "products")
private Set <Category> categories;
}
@Entity
@Table(name="Category")
public class Category {
@Id
@GeneratedValue
private int idCategory;
private String name;
@ManyToMany(fetch = FetchType.EAGER)
private Set <Product> products;
}
Это не возвращает ничего из вида, и цикл не вращается даже один раз.
<c:forEach items="${product.categories}" var="items">
<p>${items.name}</p>
</c:forEach>
Я присоединяюсь к схеме. Может ли кто-нибудь написать, что делать, чтобы заставить его работать, пожалуйста? enter image description here
Это не работает.
@Entity
@Table(name="Category")
public class Category {
@Id
@GeneratedValue
private int idCategory;
private String name;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "Product_Category", joinColumns = {
@JoinColumn(name = "Category_idCategory", nullable = false, updatable = false) },
inverseJoinColumns = { @JoinColumn(name = "Product_idProduct",
nullable = false, updatable = false) })
private Set <Product> product;
Благодарим за отзыв. Не могли бы вы рассказать мне, что именно я делаю? – Jack937
Скопируйте приведенную выше аннотацию в свой код на набор объектов категории. Затем измените имя '@ JoinTable', чтобы отобразить имя таблицы. В '@ JoinColumns' измените поле имени, чтобы отобразить имя столбцов в таблице соединений. –
Это не работает. – Jack937