Java 在jpa中使用复合密钥删除多对多关系

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>()

我与复合键有多对多关系。现在,我想从连接实体类中删除一个项,它是数据库中的一行。我该怎么做

第1面

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