0

私は 2 つのモデルを持っています。

public class ModelB extend Model {
    public ModelA parent;
    public ModelA child;
    public String value;
    public boolean verified = true;
}

ModelA では:

@OneToMany(mappedBy="child")
List<ModelB> items;

ModelB のデータベースにエントリがなく、modelA.items.size()=> 1!を実行する場合

なぜ 1 ? 0 である必要があります。

これにより、ブール値およびその他の説明できないエラーが発生します。

どうすれば修正できますか?

4

2 に答える 2

1

http://www.avaje.org/ebean/introquery_joinquery.html

上記のリンクで説明されているように「fetch join」を使用して参加する場合、おそらくこれが現在の Ebean の動作です。ただし、次のように OneToMany 関係に対して「クエリ結合」を実行することで、これを回避できます。

List<Order> orders =   
Ebean.find(Order.class)  
    .fetch("customer", new FetchConfig().query())  
    .findList(); 
于 2012-05-08T19:57:28.303 に答える
0

同じ問題に遭遇し、セカンダリ テーブル (ModelB) に ID 列を追加することで解決できました。原因は調べていませんが、Ebean はこのような状況でテーブルの主キーが必要になると思います。

于 2013-11-15T07:35:59.210 に答える