【问题标题】:Java Tree with Ebean (parent child relation in same table)带有 Ebean 的 Java 树(同一张表中的父子关系)
【发布时间】: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


【解决方案1】:

你可能忘记了private Long id下的@Id注解:

public class Category extends Model {

    private static final long serialVersionUID = 4660222569406895990L;

    @Id
    private Long id;
    ...
}

【讨论】:

    猜你喜欢
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    相关资源
    最近更新 更多