持久收集 JPA

Posted

技术标签:

【中文标题】持久收集 JPA【英文标题】:Persist Collection JPA 【发布时间】:2015-08-07 07:34:59 【问题描述】:

我有一颗豆子

public class Verbali implements Serializable 
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@NotNull
@Column(name = "ID")
private Long id;    
@JoinColumn(name = "ID_UTENTE", referencedColumnName = "ID")
@ManyToOne(optional = false)
private Utenti idUtente;
@OneToMany(mappedBy = "idVerbale")
private Collection<PresenzeVerbali> presenzeVerbaliCollection;
@OneToMany(mappedBy = "idVerbale")
private Collection<OrdineDelGiorno> ordineDelGiornoCollection;

当我把我的 db 记录放在 Verbali 表上时,而不是 @OneToMany 上的记录。 哪里不对???

【问题讨论】:

什么表“分钟”?什么表“图表”?什么持久化代码? 当我把我的数据库记录创建在 Verbali 表上而不是 @OneToMany 上的记录。哪里不对??? cascade = CascadeType.PERSIST ? 【参考方案1】:

当我有这种类型的关系时,我首先保存主类(在本例中为 Verbali),然后保存添加这条新记录的子类。

Verbali verbali = new Verbali();

verbali.setIdUtente(retrieveUtente());
verbali = verbaliPersistence.save(verbali);

for(somestuff)
   PresenzeVerbali pv = new PresenzeVerbali();
   pv.setVerbali = verbali;
   presenzeVerballiPersistence.save(pv);
   //same with other collections

【讨论】:

以上是关于持久收集 JPA的主要内容,如果未能解决你的问题,请参考以下文章

在持久化到实体之前转换从表单收集的数据

在 JPA/Hibernate 中正确使用 flush()

JVM 年轻代 老年代 持久代 gc

jvm中的年轻代 老年代 持久代 gc

Java分代垃圾回收机制:年轻代/年老代/持久代(转)

GC 年轻代 老年代 持久代