Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JPA:为了添加新关系,我必须获取所有OneToMany关系列表吗_Jpa_Spring Data Jpa - Fatal编程技术网

JPA:为了添加新关系,我必须获取所有OneToMany关系列表吗

JPA:为了添加新关系,我必须获取所有OneToMany关系列表吗,jpa,spring-data-jpa,Jpa,Spring Data Jpa,假设我有实体A,A有B的列表,标记为OneToMany。为了将新的B项添加到A的列表中,我是否必须获取所有B项 例如: @Entity public class A { @Id Long id; @OneToMany List<B> bs; } @实体 公共A类{ @身份证 长id; @独身癖 名单b; } 我是否必须获取所有A.B以便将新项目添加到B 谢谢 阿隆 编辑 还有几个问题: @德国人:有趣!几个问题 如果A和B之间的连接是通过表C进行的

假设我有实体A,A有B的列表,标记为OneToMany。为了将新的B项添加到A的列表中,我是否必须获取所有B项

例如:

@Entity
public class A {

   @Id
   Long id;

   @OneToMany
   List<B> bs;
} 
@实体
公共A类{
@身份证
长id;
@独身癖
名单b;
} 
我是否必须获取所有A.B以便将新项目添加到B

谢谢

阿隆

编辑 还有几个问题:

@德国人:有趣!几个问题

  • 如果A和B之间的连接是通过表C进行的呢?我也有同样的行为吗

  • 为什么清单会制造麻烦

  • 我可以用什么来代替列表?设定

  • 如果我坚持A,我会覆盖B的所有链接吗

  • 如果链接是ManyToMany(使用额外的表),该怎么办


  • 您必须将b添加到A的b列表中。但发生的情况是特定于提供者的。当启用更改跟踪时,某些提供者(如EclipseLink)可以避免为延迟加载列表上的某些操作获取列表

    您必须将b添加到A的bs列表中。但发生的情况是特定于提供者的。当启用更改跟踪时,某些提供程序(如EclipseLink)可以避免为延迟加载列表上的某些操作获取列表

    如果B有一个@ManyToOne注释指向a,并且您将不使用该列表,则您可能只需要设置B对a的引用并将其持久化,而根本不需要接触实例。在数据库中,数据将被插入到表B中,但在内存中,A的列表将没有新元素。

    如果B有一个@ManyToOne注释指向A,并且您将不使用该列表,那么您可能只需要设置B对A的引用并将其持久化,而根本不需要接触实例。在数据库中,数据将插入表B,但在内存中,A的列表将不包含新元素