我有两个实体,一个父实体和多个子实体。子表具有父项的外键。我的问题是更新或插入新行。
我收到一个bean列表,其中包含来自前端的信息,并根据每个bean中的值,如果子表中存在具有该值的子项(需要更新多个列),我需要更新行或者如果不存在则插入新行。
除了从父实体获取子列表并进行双循环样式匹配之外,还有更好的方法吗?在这里,我将每个子实体值与列表中的每个其他bean匹配,如果匹配,则更新,否则为插入。
Hibernate在这种情况下做的是正确的,它继续添加行,因为没有id。谢谢!
答案 0 :(得分:0)
您可以提取包含与子实体相关的所有bean的子列表,然后获取并更新它们。 然后提取相对于需要创建的子项的所有bean的子列表并插入新实体。 如果您的env是java 8,这可能是一种更实用的方法,更可行(也更简单)。