【发布时间】:2013-03-27 20:20:41
【问题描述】:
我完全无法从数据库中检索父子结构。我无法创建适用于 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;
【问题讨论】:
-
你可能忘记了
private Long id下的@Id注解。 -
感谢 Nico,这对我有帮助,我愚蠢到忘记这一点!请在我编辑时发布答案,我会接受。
标签: tree playframework-2.1 ebean