Hibernate 无法删除与JPA的OneToMany关系的子实体

Hibernate 无法删除与JPA的OneToMany关系的子实体,hibernate,jpa,Hibernate,Jpa,我无法删除父实体(requictud)定义为级联的子实体(requictudarxiu),如下面所示 似乎父(级联)实体中关系的定义会影响从子实体中删除,因为当我删除级联时,删除就会起作用 是否有强制删除孩子的表格(征求意见书) 请求管理员(要删除的子实体) 征求(母公司) 如果不从拥有方删除关系,则无法删除实体,因此,请先删除关系,然后删除您的子项。如果不从拥有方删除关系,则无法删除实体,因此,首先删除关系,然后删除您的孩子。我最终决定使用createNativeQuery以简单的方式完成,并

我无法删除父实体(requictud)定义为级联的子实体(requictudarxiu),如下面所示

似乎父(级联)实体中关系的定义会影响从子实体中删除,因为当我删除级联时,删除就会起作用

是否有强制删除孩子的表格(征求意见书)

请求管理员(要删除的子实体)

征求(母公司)


如果不从拥有方删除关系,则无法删除实体,因此,请先删除关系,然后删除您的子项。

如果不从拥有方删除关系,则无法删除实体,因此,首先删除关系,然后删除您的孩子。

我最终决定使用createNativeQuery以简单的方式完成,并避免JPA关系的限制

em.createNativeQuery("DELETE FROM r_solicitudArxiu WHERE id = ?")
   .setParameter(1, id)
   .executeUpdate();

我最终决定用一个createNativeQuery以简单的方式完成它,并避免JPA关系的限制

em.createNativeQuery("DELETE FROM r_solicitudArxiu WHERE id = ?")
   .setParameter(1, id)
   .executeUpdate();

这就是我试图做的,我试图删除t_Clarcud和t_arxiu之间的关系,但是在执行em.remove之后,实体仍然存在。??如果您在删除实体时使用jpa 2.0或更高版本,则除非您将“孤立删除”定义为true,否则子项将保留,因此您要么删除关系,然后删除实体,要么将“孤立删除”定义为true,这样当删除关系时,子项将保留removed@Joe我刚注意到你已经有了孤儿移除装置,然后删除关系就足以删除child,但它仍然不起作用,我调用了上面的delete方法,但它没有删除requestudarxiu实体。不知道它是什么。你能共享requestudarxiu类吗?这就是我试图做的,我试图删除t_requestud和t_arxiu之间的关系,但是在执行em.remove之后,实体仍然存在。??如果您在删除实体时使用jpa 2.0或更高版本,则除非您将“孤立删除”定义为true,否则子项将保留,因此您要么删除关系,然后删除实体,要么将“孤立删除”定义为true,这样当删除关系时,子项将保留removed@Joe我刚注意到你已经有了孤儿移除装置,然后删除关系就足以删除child,但它仍然不起作用,我调用了上面的delete方法,但它没有删除requestudarxiu实体。不知道是什么。你能和我一起上课吗?
@Entity
@Table(name = "r_solicitudArxiu",
        uniqueConstraints = @UniqueConstraint(columnNames = {"idSolicitud","idArxiu"}))
public class SolicitudArxiu implements Serializable {
...
    @ManyToOne
    @Basic(optional = false)
    @JoinColumn(name = "idSolicitud", referencedColumnName = "id",
            foreignKey = @ForeignKey(name = "solicitudArxiu2solicitud"))
    private Solicitud solicitud;

    @ManyToOne
    @Basic(optional = false)
    @JoinColumn(name = "idArxiu", referencedColumnName = "id",
            foreignKey = @ForeignKey(name = "solicitudArxiu2arxiu"))
    private Arxiu arxiu;
   ...
em.createNativeQuery("DELETE FROM r_solicitudArxiu WHERE id = ?")
   .setParameter(1, id)
   .executeUpdate();