【发布时间】:2015-09-28 19:04:48
【问题描述】:
我正在使用带有 Play Framework 2.4 的 ebean
我不明白问题出在哪里。这是我的两个 bean 的简化版本:
@Entity
public class ArtifactEntry extends Model {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int id;
@play.data.validation.Constraints.Required
public String name;
@ManyToMany(mappedBy = "artifacts")
public List<TimestampEntry> timestamps = new ArrayList<TimestampEntry>();
}
还有我的另一个豆子:
@Entity
public class TimestampEntry extends Model {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int id;
@play.data.validation.Constraints.Required
@Index
public String timestamp;
public Date timestampDate;
@play.data.validation.Constraints.Required
@Index
public String buildNumber;
@ManyToMany(cascade = CascadeType.ALL)
public ArtifactsList artifacts = new ArtifactsList();
public static class ArtifactsList extends ArrayList<ArtifactEntry> {
}
}
错误信息是:
1) 注入构造函数时出错,javax.persistence.PersistenceException:models.ArtifactEntry.timestamps 上的错误。 mappedBy 属性 [models.TimestampEntry.artifacts] 不是 ManyToMany?
编辑:经过更多研究,问题显然是“工件”不是直接类型“列表”而是它的子类。 Ebean没有那么聪明。有什么解决办法吗?
【问题讨论】:
-
刚刚拍摄...如果我记得很清楚,我前段时间在内部类和 Ebean 方面遇到了一些问题,解决方案是将类移动到单独的文件中。
标签: java playframework many-to-many ebean