我做了一个具有更多关系的小型应用程序。现在,我想删除表格的详细信息,如何删除我没有删除任何想法。
关系如下:
PanCard->员工(Ono To One)
Employee-> ProjectManger(与员工的双向多对一关联)
项目-> ProjectManager(与项目的双向多对一关联)
现在我要删除一张一张的表数据
以下是我的POJO类代码:
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
private int id;
@Column(name="pName")
private String pName;
@Column(name="pNumber")
private int pNumber;
@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
@JoinColumn(name="EId")
private Employee employee;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = "id")
private int id;
@Column(name = "empFirstName")
private String empFirstName;
@Column(name = "empLastName")
private String empLastName;
@Column(name = "empDepartment")
private String empDepartment;
@ManyToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="pmId")
private ProjectManager projectManager;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String department;
private String managerFirstName;
private String managerLastName;
//bi-directional many-to-one association to Myemployee
@OneToMany(mappedBy="projectManager",cascade = CascadeType.ALL)
private List<Employee> employee;
@OneToMany(mappedBy="projectManager",cascade = CascadeType.ALL)
private List<Projects> projects;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
private int id;
@Column(name="projectName")
private String projectName;
@Column(name="projectDesc")
private String projectDesc;
@ManyToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="pmId")
private ProjectManager projectManager;
现在,我要删除表数据:应该从哪个表开始删除。
Pancard
我应该删除,ProjectManager
因为Employee
有FK。ProjectManager
它,则应删除Employee
和,Projects
但Employee
与PanCard
它有关系,因此不要删除。Projects
,则应删除ProjectManager
但ProjectManger
与之相关联,Employee
因此不删除。因此,我必须从哪里开始删除,以及如何删除不知道的对象。
您可以开始从任何喜欢的表中删除。但是,如果要为此使用JPA,则必须防止约束冲突。您可以通过
要阐明关系映射:
PanCard
是与的关系的拥有一方Employee
。Employee
是与的关系的拥有一方ProjectManager
。Project
是与的关系的拥有方面ProjectManager
。一般建议-不要从多方面使用级联。结果大多不是您想要的-
违反约束。如果删除Employee
,则删除内容将级联到ProjectManager
。由于一个经理可以有多个雇员,因此Employee
将违反表中的外键约束。所以我会从删除级联Employee
到ProjectManager
。
我有以下型号: 当我运行下面的查询时,用户模型也被删除 有没有办法在不删除用户的情况下删除问题? 我试着重复这些问题但没有用 我认为查询集是懒惰的,所以也许我需要在删除之前评估它,所以我打印了它,但这不起作用。 我知道,将ForeignKey设置为null将为我提供诸如clear和remove之类的方法,但我不想这样做,因为我不希望出现任何孤立的用户问题。 我更新了ForeignKey,如下所示
假设我有一个雇员对象列表,每个雇员类都有雇员姓名、雇员地址、工资等属性。现在我必须删除名称为“John”和Salary的雇员对象 列表empList=new ArrayList 根据我的理解,若要解雇具有上述情况的员工,我应使用以下代码: 因此,基本上上述代码将从列表中删除所需的Employee对象。如果我的理解正确,请告诉我。 除此之外,请澄清以下几点:1.当我们有数百万条记录时,我们将如何解决
问题内容: 如何在Elasticseacrch中处理子对象? 假设我们创建了两个父母和三个孩子。请注意,有两个孩子的ID,但父母不同: 如果搜索这些子项,我们会发现有两个子项的 我该如何处理?如果没有父子关系,则可以使用来访问,更改或删除子对象。在我的情况下,我让elasticsearch创建对象的。 要访问子对象,还不够: 我还必须指定父级: 在我的系统中,更糟糕的是,有些对象我可以直接访问而没
问题内容: 我希望得到以下结果,但实际上不会。我想知道如何显示两个集合之间的差异。(对象是父子关系)在这种情况下,我可以使用removeAll()之类的标准方法,还是可以推荐另一种使用apache- commons的方法。谢谢。 问题答案: Java集合依赖于和方法(,,s和其他方法使用后者)。 如果你希望能够使用Java集合的数据结构的能力(如,等),你需要用正确的实现提供对象和。 如果您不能修
问题内容: 说我创建一个对象,如下所示: 删除该属性以使其最终成为new 的最佳方法是什么? 问题答案: 像这样: 演示版
问题内容: 我正在尝试从ArrayList中删除一个对象。每个Item对象都有3个属性;1. itemNum 2.信息3.费用。我也有3个类,即1。Item类定义了存储在目录中的单个项目。2. Catalog类维护Item对象的列表。3带main方法的客户端类。我在Set类中具有设置并获取,在Catalog中具有ArrayList。在客户端中,提示我“输入要删除的itemNum。如何基于对item