0

在我的域模型中,我有一个用户实体,其中包含另一个用户(复合模式)。当我想保留用户时,我收到一个错误,上面写着“数据对于列来说太长......”。发生这种情况是因为试图将包含的用户存储为 BLOB。我希望存储包含用户的 ID - 而不是将整个对象存储为 BLOB。

在这种情况下,我必须使用哪种注释?基数是 1 : 0..1 - 所以一个用户可以包含另一个用户。

这是代码...

@Entity
@Table(name="flex_app_user")
public class User implements Serializable {

private User client;

public User(){

}

@OneToOne
public User getClient() {
    return client;
}
}

...问题是由数据模型的变化引起的。正确的注释是 OneToOne。一切正常。

亲切的问候, Jochen

4

2 回答 2

2

注释必须是@OneToOne.

于 2013-01-04T08:13:05.933 回答
0

当您使用复合模式时,您可以在使用(fetch=FetchType.LAZY)的关系上使用吗?

于 2013-01-04T08:17:03.477 回答