2

Play 2 プロジェクトにこれらの 2 つのモデルがあります。

@Entity
public class Site extends Model{

    @Id
    public String adId;

    @Required
    public String name;

    @Required
    @OneToMany (cascade = CascadeType.ALL)
    public List<Room> rooms;
...
}//end of class

@Entity
public class Room extends Model {

    @Id
    @Required
    public String adId;

    @Required 
    public String name;

    public List<Reservation> reservations = new ArrayList<Reservation>();

...
}

このコードをview.scala.htmlで使用すると

            var treeData = [                            
                    @for(site <- sites) {
                        {title: "@site.name", tooltip: "@site.adId",
                            children: [
                                @for(room <- site.rooms) {
                                    {title: "@room.name", tooltip: "@room.adId"},
                                }
                            ]
                        },
                    }
                ];

アクセスできませんsite.rooms サーバー側でテストすると、データが存在します。

もう1つの奇妙なことは、私が得ることですがsite.adIdsite.name空のままです...

誰かが私が間違っていることを知っているなら...

(下手な英語で申し訳ありません、それは私の母国語ではありません)。

4

2 に答える 2

2

テンプレート/scalaでデータにアクセスできるようにするには、ゲッターが必要です。少なくともそれが私のためにそれを修正しました。メーリングリストでその情報を見つけたと思います:

この問題は以前に議論されました。Scala コードから Ebean 遅延読み込み (またはその他の Java マジック) を使用する場合は、プライベート フィールドとパブリック アクセサー メソッドを使用する必要があります。

于 2012-06-05T10:17:24.550 に答える
0

または、クエリ中にデータをフェッチします。finder.fetch("rooms")query().findList()

于 2012-06-10T13:50:32.930 に答える