我正在尝试使用我的系统中的主目录为用户建模。我得到了以下模型声明:
@Entity
public class Directory extends Model {
public String name;
@ManyToOne public Directory parent;
@ManyToOne public User owner;
@OneToMany public Set<User> sharees;
}
@Entity
public class User extends Model {
@Unique @Column(unique=true) public String username;
public String password;
public Directory homeDirectory;
public User(String username, String password) {
this.username = username;
this.password = password;
this.homeDirectory = new Directory(username, null, this);
}
}
当我创建用户并调用.save()时,我收到错误(已捕获到javax.persistence.PersistenceException,org.hibernate.exception.GenericJDBCException:无法插入:[models.User] )。任何人都可以解释原因吗?
使用灯具,我可以测试吗?我需要在我的yaml文件中创建前向引用,但我不确定这是否可行。
谢谢,
文森特。
答案 0 :(得分:2)
@OneToOne
缺少homeDirectory
注释而引发错误
我假设您正在为每个用户创建一个目录。如果是这种情况,那么您还应该使用CascadeType.ALL
,以便在创建/删除用户时自动创建/删除这些目录。