Hibernate,带有额外列的关联表:null错误

时间:2014-09-01 16:48:16

标签: java hibernate

我有两个表有多对多关系的表,以及一个将两者连接到额外列的关联表。

遵循教程(this one in particular),为了表示这一点,我创建了两个与我的普通表相对应的实体,另一个实体用于我的具有嵌入式id的关联表。

为了保证单一性,我覆盖了方法equalshashCode,并且这些集合的类型为Set

当我坚持我只会得到一个空错误(见下面的整个错误),所以这让我不知道我做错了什么。

以下是实体的关系,它们的设置方式和错误。

实体1 Prestation

@OneToMany(fetch=FetchType.LAZY, mappedBy="id.prestation", cascade={CascadeType.MERGE, CascadeType.PERSIST})
private Set<Louer> louers = new HashSet<Louer>(0);

实体2 Materiel

@OneToMany(fetch=FetchType.LAZY, mappedBy="id.materiel")
private Set<Louer> louers = new HashSet<Louer>(0);

实体3 Louer

@AssociationOverrides
(
    {
    @AssociationOverride(name="id.materiel", joinColumns = @JoinColumn(name = "ID_MAT")),
    @AssociationOverride(name="id.prestation", joinColumns = @JoinColumn(name="ID_PREST"))          
    }
)

@Transient
private Materiel materiel;

@Transient
private Prestation prestation;

可嵌入课程LouerPK

@ManyToOne
private Materiel materiel;

@ManyToOne
private Prestation prestation;

设置:

louer.setMateriel(mat); 
louer.setPrestation(prest);
prest.getLouers().add(louer);

错误:

ERROR [model.exception.DAOException] (default task-50) null

有人可以帮忙吗?

0 个答案:

没有答案