2016-11-30 43 views
0

我有一个父类,比如Parent。它的一个属性是另一个类,比如Child。我想保存它们,这样只有在休眠时不存在的情况下才保存孩子

Parent { 
    int id; 
    Child child; 
} 

Child { 
    int id; 
} 
  1. 如果父母和孩子都在DB(MySQL的),那么他们应该被插入不存在。
  2. 如果孩子已经存在,那么它不应该插入到数据库中。

在这两种情况下,父母应该在DB中保存孩子的ID。

我想在Spring Boot中使用Hibernate来做到这一点。我是这个堆栈中的新手。

+0

你是什么意思2.如果孩子已经存在?父母p1的孩子c1应该通过关系链接。但是如果其他孩子c2已经存在,你想插入 - 这是正确的吗? –

回答

0

你可以使用hibernate来查询数据库,其余的需求可以通过编写下面的逻辑来实现。

1)您需要在DAO层创建一个函数,使用select语句(Hibernate native/HQL)检查数据库中是否存在父p1和子c1。
如果它们不存在,则可以使用休眠将数据(p1 c1)插入到数据库中。

2)在DAO层创建一个函数来检查子记录c1是否已经存在。
选择查询可以使用这个。如果它不存在,则必须插入记录(p1 c1)。

+0

我的问题是更多关于使用休眠关系。如果我们可以使用休眠关系来实现我的动机。 – Juvenik

相关问题