Java 在jpa中使用复合密钥删除多对多关系
我与复合键有多对多关系。现在,我想从连接实体类中删除一个项,它是数据库中的一行。我该怎么做 第1面Java 在jpa中使用复合密钥删除多对多关系,java,jpa,many-to-many,eclipselink,Java,Jpa,Many To Many,Eclipselink,我与复合键有多对多关系。现在,我想从连接实体类中删除一个项,它是数据库中的一行。我该怎么做 第1面 @OneToMany(cascade=CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "tag", , orphanRemoval = true) private List<TagDefinitionProject> tagProjects = new ArrayList<TagDefinitionProject>()
@OneToMany(cascade=CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "tag", , orphanRemoval = true)
private List<TagDefinitionProject> tagProjects = new ArrayList<TagDefinitionProject>();
PK等级:
@Id
@Column(name = "id_tag")
private Integer tag;
@Id
@Column(name = "id_project")
private Integer project;
在我的服务层代码中,我试图这样做,但它不起作用
TagDefinitionProject t = tagDao.findByTagAndProject(i,j);
tdpDao.remove(t);
我也遇到了同样的问题,我有一个多对多关系,我试图从连接实体类中删除一个项,但没有成功。为了解决这个问题,我在这里删除了OrphanRemoving和CascadeType属性:@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy=“tag”,OrphanRemoving=true)private List tagProjects=new ArrayList();手动操作。抱歉,我的英语不好。我遇到了同样的问题,我有一个多对多关系,我试图从连接实体类中删除一项,但没有成功。为了解决这个问题,我删除了此处的OrphanRemoving和CascadeType属性:@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy=“tag”,OrphanRemoving=true)private List tagProjects=new ArrayList();手动操作。对不起,我英语不好
@Id
@Column(name = "id_tag")
private Integer tag;
@Id
@Column(name = "id_project")
private Integer project;
TagDefinitionProject t = tagDao.findByTagAndProject(i,j);
tdpDao.remove(t);