0

我完全坚持从数据库中检索父子结构。我无法创建适用于 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;
4

1 回答 1

0

您可能忘记了@Id下面的注释private Long id

public class Category extends Model {

    private static final long serialVersionUID = 4660222569406895990L;

    @Id
    private Long id;
    ...
}
于 2013-03-28T21:26:35.257 回答