Java Hibernate ManyToMany在更新时出现连接表问题
我正试图使许多协会为所有CRUD操作工作。我有两个实体:Java Hibernate ManyToMany在更新时出现连接表问题,java,hibernate,orm,Java,Hibernate,Orm,我正试图使许多协会为所有CRUD操作工作。我有两个实体:位置和事件 地点可以容纳多个事件,一个事件可以在多个地点发生 在第一种情况下,我有 在课堂上 @ManyToOne( targetEntity=EventDto.class, cascade = { CascadeType.PERSIST, CascadeType.MERGE }) @JoinTable( name = "EVENTS_PLACES", joinColumns = { @J
位置
和事件
地点可以容纳多个事件,一个事件可以在多个地点发生
在第一种情况下,我有
在课堂上
@ManyToOne(
targetEntity=EventDto.class,
cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinTable(
name = "EVENTS_PLACES",
joinColumns = { @JoinColumn(name = "PLACE_ID") },
inverseJoinColumns = { @JoinColumn(name = "EVENT_ID") })
private List<EventDto> events;
当更新一个地方时,一切似乎都很好,
但当我尝试创建一个事件时,它也尝试创建一个场所=>这会导致主键冲突 我使用eclipse重写了hashcode()和equals() 谢谢你的帮助 请毫不犹豫地给我指一个页面,其中显示并解释了一个完全有效且经过测试的多人关系 克里斯托弗这是一个很好的例子 只要试着将他们的代码复制到你自己的代码中,它就会起作用。 如果仍然没有,请发布两个类的完整列表以及导致错误的代码,也许我可以看到问题所在
@JoinTable(name = "EVENTS_PLACES", joinColumns = @JoinColumn(name = "EVENT_ID"), inverseJoinColumns = @JoinColumn(name = "PLACE_ID"))
private List<PlaceDto> places;
@ManyToMany (
mappedBy = "events",
cascade = { CascadeType.PERSIST, CascadeType.MERGE },
fetch = FetchType.LAZY,
targetEntity = FundDto.class)
private List<PlaceDto> places;