Java 我在JPA方面有问题
我有两张桌子 议程Java 我在JPA方面有问题,java,jpa,transactions,persistence,Java,Jpa,Transactions,Persistence,我有两张桌子 议程 @Entity @Table (name = "agenda") public class Agenda { @Id @GeneratedValue private int idAgenda; @OneToMany(orphanRemoval=true,cascade = CascadeType.REMOVE) private List<Consulta> consultas; } 当我运行java时,它创建了第三个
@Entity
@Table (name = "agenda")
public class Agenda {
@Id
@GeneratedValue
private int idAgenda;
@OneToMany(orphanRemoval=true,cascade = CascadeType.REMOVE)
private List<Consulta> consultas;
}
当我运行java时,它创建了第三个表:agenda consulta。当我尝试删除“consulta”表上的consulta时,我执行以下操作:
em.getTransaction().begin();
em.remove(consulta);
em.getTransaction().commit();
但有错误导致外国。如何执行此操作?您试图删除一个仍被议程引用的顾问。所以外键约束禁止您这样做,因为它会使数据库不一致 通过查找包含该顾问的议程,并从议程的顾问列表中删除该顾问,确保在删除之前删除对该顾问的引用
em.getTransaction().begin();
em.remove(consulta);
em.getTransaction().commit();