У меня есть объект пользователя, который является OneToMany, сопоставленным с другим объектом «item». Список элементов успешно добавлен до тех пор, пока элементы не будут повторяться. Как добавить дубликаты товара пользователю.Как я могу добавить повторяющиеся элементы к объекту, который сопоставлен (OneToMany), другому классу сущности при использовании Spring mvc и Hibernate
В пользователя сущности
@OneToMany(mappedBy="user")
private List<Item> item;
//getters and setters
товара Entity
@ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
@JoinTable(
name="UserItem",
joinColumns= @JoinColumn(name="ITEM_ID"),
inverseJoinColumns = @JoinColumn(name="USER_ID")
)
private User user;
//getters and setters
Моя функция в классе обслуживания, чтобы добавить пункт к пользователю
public void addItemToUser(Integer userId,Integer itemId){
Session session = sessionFactory.getCurrentSession();
Item item2 = (Item)session.get(Item.class,itemId);
// session.save(item2);
User user2 = (User)session.get(User.class,userId);
user2.getItem().add(item2);
session.save(user2);
}
Как я могу добавить повторяющиеся элементы для пользователя. Я новичок в весне и спящем состоянии
Как вы указали в списке- , говоря, что это обратная сторона отношения. Поэтому, чтобы иметь двухстороннее однонаправленное отношение, удалите атрибут mappedBy и поместите cascade = "CascadeType.ALL". Else сохранить каждый раз элемент, и пользователь будет автоматически обновляться, поскольку класс Item принадлежит стороне отношения. –