【发布时间】:2017-09-24 02:25:27
【问题描述】:
我正在尝试在 Publications 和 Authors 之间创建一对多的关系,但是由于某种原因,当我持久化 Publications 时,Authors 会被持久化,但 Join 表是空的。
Publication.java
@Id
@Column(name="PUBLICATIONID")
private String id;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "authorspublication", fetch = FetchType.EAGER)
private Collection<Author> authors;
Author.java
@Id
@Column(name = "AUTHORID")
private String authorid;
@ManyToOne(optional = false, targetEntity = Publication.class)
@JoinColumn(name = "authorspublication", referencedColumnName = "publicationid")
private Publication authorspublication;
DataParser.java
//pub is created - non managed
//author is created - non managed
author.setPublication(pub);
pub.getAuthors().add(author);
em.merge(pub);
我不知道拥有方是倒退,还是其他原因。
任何见解将不胜感激。
【问题讨论】:
-
我添加了持久化代码。 JPA 登录部署不会引发错误或警告。我将详细级别设置为 FINE 并再次查看。
-
日志中没有任何内容。首先对所有 Publications 执行插入操作,然后是 Authors,但永远不会引用 Join Table
-
您是否使用 eclipse-link 作为您的 JPA 提供程序?
标签: java jpa jakarta-ee jpa-2.0 ejb-3.0