2

我有一个实体“用户”,它是 OneToMany 映射到另一个实体“项目”。项目列表成功添加,直到项目不重复。如何向用户添加重复项。

在用户实体中

@OneToMany(mappedBy="user") 
private List<Item> item;

//getters and setters

在项目实体中

@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);
}

如何向用户添加重复项目。我是春天和冬眠的新手

4

1 回答 1

0

检查您是否真的需要使用 CascadeType.ALL 而不是 Cascade.SaveUpdate。

于 2015-02-06T16:26:51.020 回答