我正在遭受一个非常奇怪的行为我有两个实体(A,B)之间的一对多关系。当我添加一个元素(B)时,一切都可以。但只要我添加第二个(B1)。该寄存器是在数据库上创建的,我可以看到两个实体指向相同的实体(A)。 “但是”只要我检索到A,我可以看到列表中只有第一个A,并且所有属性都为空,但ID为。我的关系是这样的:OneToMany关系只返回一个元素
@OneToMany(cascade = {CascadeType.ALL}, orphanRemoval = true)
@JoinColumn(name = "a_id")
@XmlElement
@Getter
@Setter
private List<B> Bs = new ArrayList<>();
@ManyToOne
@JoinColumn(name = "a_id")
@Getter @Setter
private A a;
这是什么问题?
解决方案:是我的错,我的B1上的枚举值之一是不正确的,Hibernate没有抱怨它。在没有A的情况下直接从数据库中获取值之后,我会收到异常。
问候。
我已经这样做了,数据库上的实体它是正确的。这两个B都指向A.我认为这是Hibernate搞砸了 – paul 2014-12-05 12:20:27
你可以发布你的服务代码的问题? – 2014-12-07 08:22:50
它是固定的,最后不是hibernate映射问题,感谢 – paul 2014-12-07 10:52:57