在Ebean中创建嵌套对象的最简单方法是什么?

时间:2016-07-06 13:54:47

标签: java playframework orm nested ebean

我需要两个名为" States"的Ebean模型类。和"儿童"。 A"州" object可以包含嵌套的Child对象(子列表)。

这是基本的州级,

@Entity
public class States extends Model {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    @Constraints.Required(message = "stateName cannot be null")
    @Column(nullable = false)
    private String statename;

    @Column(nullable = true)
    private String url;

    @Column(nullable = true)
    private String parent;

    private List<Children> childrenList;
}

这是基本的儿童班,

@Entity
public class Children extends Model {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    @Column(nullable = false)
    private String statename;

    @Column
    private String child;
}

使用Ebean ORM创建State对象应该对这些类进行哪些最小修改?我经历了这个帖子,

  

Ebean Query by OneToMany Relationship

但是,有人提出了很多改变。我只想进行最小的修改。

1 个答案:

答案 0 :(得分:5)

我所要做的就是对国家&#34;进行一些小修改。类,

@Entity
public class States extends Model {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    @Constraints.Required(message = "stateName cannot be null")
    @Column(nullable = false)
    private String statename;

    @Column(nullable = true)
    private String url;

    @Column(nullable = true)
    private String parent;

    @OneToMany(cascade = CascadeType.ALL)
    private List<Children> childrenList;
}

我在这里只做了改变,

@OneToMany(cascade = CascadeType.ALL)

我没有对&#34;儿童&#34;做任何改变。类。在开始播放应用程序之前,我设置了

play.evolutions.enabled = true

in&#34; application.conf&#34;文件。然后使用在&#34; evolution.default&#34;中创建的evolution SQL文件。文件夹,我调整了数据库的架构。之后&#34;国家&#34;使用嵌套的&#34; Children&#34;成功创建了对象。对象。