-1

我想知道两个实体之间是否存在关系,例如salesOrder实体和SalesOrderItem具有一对多的关系 我应该如何坚持它们,即我是否需要保持顺序和关系,或者有一种方法可以划分坚持和第一例如,从销售订单项目开始,然后是销售订单。这只是示例,我想知道是否有办法在与 JPA 的持久性期间忽略关系并持久化对象而不需要引用关系,但当然如果有外键一次提供它

4

1 回答 1

1

通常,您希望按如下方式保留它们:

  1. 建立两个实体之间的所有联系;如果子引用父,则设置该引用。如果父级引用子级(ren),则设置该/那些引用。

  2. 坚持这两个实体。如果一个(父级)引用另一个(子级),则可以标记关系Cascade.PERSIST以允许在持久操作期间遵循引用 - 在这种情况下,您只需要持久化一个。

您问“是一种划分持久性的方法,首先例如从销售订单项目开始,然后是销售订单”。由于该项目通常会引用它包含的订单,因此很难想象在任何合理的情况下您会在订单之前保留该项目。您问这类问题时对问题的理解很少,我认为您还没有真正准备好解决可能(或可能不会)允许它们为您工作的例外情况。最好坚持正确的做法。

首先创建一个订单(@OneToMany 中的“一个”)可能是合适的,即使订单包含一个ListMap多个子项目 - 只要项目实体包含对订单的特定引用。在给定的“工作单元”(实体管理器会话)中,您仍然希望在添加/创建和保留其他子级时更新父级的列表/地图。

于 2013-03-09T20:28:31.810 回答