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 に答える