Hibernate——在@OneToMany上级联

Hibernate——在@OneToMany上级联,hibernate,mapping,hibernate-onetomany,object-relational-model,Hibernate,Mapping,Hibernate Onetomany,Object Relational Model,我和你之间有一种@OneToMany关系 Table1和Table2在Hibernate中。 Table1是所有者,关系是单向的——我还没有映射 表2返回表1 因此,作为这项工作的一部分,我定义了表2的集合 此@OneToMany映射的实例。 我把所有的东西都串联起来 在这个“场景”中,我希望添加一个 Table2实例,例如Table2\u a、Table2\u b和Table2\u c 与Table1对象相关,比如说Table1 在保存owner类实例时,是否有方法执行此插入,table1,

我和你之间有一种
@OneToMany
关系
Table1
Table2
在Hibernate中。
Table1
是所有者,关系是单向的——我还没有映射
表2
返回
表1

因此,作为这项工作的一部分,我定义了
表2的
集合
@OneToMany
映射的实例。 我把所有的东西都串联起来

在这个“场景”中,我希望添加一个
Table2
实例,例如
Table2\u a
Table2\u b
Table2\u c
Table1
对象相关,比如说
Table1

在保存owner类实例时,是否有方法执行此插入,
table1
, 从而将依赖类实例
table2_a
table2_b
table2_c
保存在级联上? 当我尝试这样做时,我得到一个错误

Duplicate entry '23' for key ...
Hibernate正在尝试保存所有
table2\u a
table2\u b
table2\u c
在相同的
Table2
上,为会话中相应的
Table1
实例生成键值。 那么,我如何在这里使用
@OneToMany
的“多”方面呢

有没有一种方法可以使用单向映射进行插入 按原样--在
@ManyToOne
上,对于关系的另一端,不将
表2
映射到
表1
? 我想让桌子保持光亮

代码正在集合中插入一个
Table2
实例,其他一切正常

//===========================

编辑:代码的相关部分:

表1
中定义的关系——实体类:

@OneToMany(cascade = CascadeType.ALL)
private Collection<Table2> table2Inst = new ArrayList<>();
// getter & setter

注意:我在entity类上定义了这一切。映射文件中没有任何内容。

是否需要在一对多中添加
mappedBy=“table1Id”
或其他内容?像这样

@OneToMany(cascade = CascadeType.ALL, mappedBy = "table1Id");//table1Id is foreign key of table1 in table2
private Collection<Table2> table2Inst = new ArrayList<>();
@OneToMany(cascade=CascadeType.ALL,mappedBy=“table1Id”)//table1Id是table2中table1的外键
私有集合table2Inst=newarraylist();

您是否确保联系人列表由所有新对象组成
新表2()

发布有关如何保存这些表的示例代码
@OneToMany(cascade = CascadeType.ALL, mappedBy = "table1Id");//table1Id is foreign key of table1 in table2
private Collection<Table2> table2Inst = new ArrayList<>();