我完全不习惯从数据库中检索父子结构。我不能创建一个适用于Ebean演化的下降模型,因为Ebean不能识别父关系。我尝试了什么:
public class Category extends Model {
private static final long serialVersionUID = 4660222569406895990L;
private Long id;
private String sfname;
// @ManyToOne -- does not work
// @JoinColumn(name="id")
private Category parent;
public static Finder<Integer, Category> FIND = new Finder<Integer, Category>(Integer.class, Category.class);
}
无论我尝试什么,上面的代码都会生成以下SQL Evolution脚本:
create table category (
id bigint,
name varchar(255)
);
如果以上方法有效,那么最高级别没有父级,那么这将如何运作?
我完全没有使用树和java的经验,也许这就是为什么对我来说这么困难:-) 谢谢你的帮助!
** 2013-03-28编辑**
正如nico
所指出的,我忘记将@Id
添加到主键。因此,以下模型有效:
@Id
private Long id;
private String sfname;
@ManyToOne
private Category parent;
答案 0 :(得分:0)
您可能忘记了@Id
下的private Long id
注释:
public class Category extends Model {
private static final long serialVersionUID = 4660222569406895990L;
@Id
private Long id;
...
}