使用@OneToMany

时间:2018-08-22 18:32:16

标签: java playframework orm ebean

我当前正在创建一个ebean模型User,试图将其映射回自身。由于User及其子级使用数据结构,因此我的想法是重用它们而不创建新的模型/表。

@Entity
public class User extends Model {

    @Id
    private String id;

    private String email;

    @ManyToOne(cascade = CascadeType.PERSIST)
    private User parent;

    @ElementCollection(fetch = FetchType.LAZY)
    @OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
    private List<User> childs = new ArrayList<>();

    ....
}

数据库模式如下:

CREATE TABLE user (
id CHAR(7),
email CHAR(255),
parent_id CHAR(255),
...
);

从孩子到父母的映射@ManyToOne工作正常。但是在引入@OneToMany映射的情况下运行应用程序时,出现以下错误:

javax.persistence.PersistenceException: Error on models.User.childs  Can not find mappedBy property [user] in [models.User]

我怀疑ebean试图在user_id表中查找user,实际上它是由parent_id链接为数据库结构中的屏幕。

任何想法,即使这甚至得到了ebean的支持还是我在这里缺少什么?

0 个答案:

没有答案