小编pau*_*ook的帖子

更新后,Hibernate会从多对多关联表中删除记录

在我的团队合作应用程序中,我在用户和团队之间有多对多的关系,因此hibernate创建了关联表.问题是,在更新具有Team的User后,hibernate从USER_TEAM表中删除相应的关联记录.

用户实体:

@Entity
@Table(name="USERS")
public class User extends SelectItem {

@Id
@Column(name="EMAIL")
private String email;

@Column(name="PASSWORD")
private String password;

@Column(name="NAME")
private String name;

@Column(name="GROUPNAME")
private String group;

@ManyToMany(
    targetEntity=Team.class
)
@ForeignKey(name="FK_TEAM_TO_USER", inverseName = "FK_USER_TO_TEAM")
@JoinTable(
    name="USER_TEAM",
    joinColumns=@JoinColumn(name="EMAIL"),
    inverseJoinColumns=@JoinColumn(name="TEAMNAME")
)
@LazyCollection(LazyCollectionOption.FALSE)
private List<Team> teamList;

@OneToMany(
        fetch = FetchType.EAGER,
        mappedBy="user")
private List<Invitation> invitationList;

//getters setters
Run Code Online (Sandbox Code Playgroud)

团队实体:

@Entity
@Table(name="TEAM")
public class Team extends SelectItem {

@Id
@Column(name="TEAMNAME")
private String name;

@ManyToOne
@ForeignKey(name="FK_TEAM_TO_TEAMLEADER")
@JoinColumn(name="TEAMLEADER")
private User teamLeader;

@ManyToMany(
    mappedBy = "teamList",
    targetEntity = User.class …
Run Code Online (Sandbox Code Playgroud)

many-to-many hibernate cascading-deletes hibernate-annotations hibernate-cascade

2
推荐指数
1
解决办法
2962
查看次数