Java 从引用其他表的表中删除一行,该表包含由JPA注释实体类创建的表
我从JPA注释实体类生成了数据库表,如下所示:Java 从引用其他表的表中删除一行,该表包含由JPA注释实体类创建的表,java,jpa,entity,Java,Jpa,Entity,我从JPA注释实体类生成了数据库表,如下所示: @Entity @Table (name="chauffeur") public class Chauffeur{ @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MYNOTIFSEQ") //identificateur de de la séquence @SequenceGenerator(name = "MYNOTIF
@Entity
@Table (name="chauffeur")
public class Chauffeur{
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MYNOTIFSEQ") //identificateur de de la séquence
@SequenceGenerator(name = "MYNOTIFSEQ", sequenceName = "MY_SEQ") //nom de la séquence dans la base
private Long id; // Identifiant formation (Clé primaire)
private String nom;
private String prenom;
private String adresse;
private String telephone;
private String login;
private String motdepasse;
private String position;
private String disponible;
@OneToOne(mappedBy = "c")
private Taxi t;
@OneToOne(mappedBy = "chau")
private Favoris favoris;
这门课:
@Entity
@Table(name = "favoris")
public class Favoris {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MYNOTIFSEQ")
@SequenceGenerator(name = "MYNOTIFSEQ", sequenceName = "MY_SEQ")
private Long id; // Identifiant formation (Clé primaire)
@OneToOne(cascade={CascadeType.PERSIST, CascadeType.REMOVE},orphanRemoval=true)
private Taxi taxi;
@OneToOne(cascade={CascadeType.PERSIST, CascadeType.REMOVE},orphanRemoval=true)
private Chauffeur chau;
我的问题是我想从Chauffer表中删除一行,但该表引用了Favoris表
这就是为什么我有这个错误:
java.sql.SQLIntegrityConstraintViolationException: ORA-02292: integrity constraint (MYBASE.FK_SUIDVMBNQQO4MUFI27VCLVPMV) violated - child record found
这是我使用的查询:
delete from Chauffeur where id ='1'
如何解决此问题并感谢首先从Favoris中删除引用行?@Kilazur,您的意思是我应该先在Favoris中应用删除查询,然后再在Chaffer表中应用删除查询??如果您的删除操作因Favoris而无效,则表示您没有对其进行级联,在这种情况下,是的,你应该先删除引用的Favoris行。Kilazur,我应该像这样使用@CascadeOnDelete注释吗:很遗憾,我对你正在使用的ORM不太了解,所以我不能说出注释,但我想这是个主意。