2012-03-23 5 views
1

I二つのクラスに参加しません:Ebeanなし生成されたクエリにこのように設定

public class Listing extends Model { 
    @ManyToOne 
    @JoinColumn(name = "user_id", nullable = false) 
    public User user; 

    public String name; 
} 


public class User extends Model {  
    @Id 
    @Constraints.Required 
    @Formats.NonEmpty 
    public String username; 

    @OneToMany(mappedBy="user") 
    public List<Listing> listing; 
} 

問題は、クエリが、私としてそれに参加していないだけで、特定のユーザーの一覧を返すために、ということですそれが期待されますが、次のようなものがあります:

select t0.name 
from listing t0 
where t0.user_id = '[email protected]' 

私は間違っていますか?

答えて

2

あなたは明示的にリストテーブルから要素をフェッチするために、結合を定義する必要があります。 Userクラスで

find.fetch("listing").findList(); 
+0

おかげジュリアン!私は間違ったフィールドに '@Id'を定義したときに間違いを犯しました。 '@Id'はpublic Long IDで定義する必要があります。ユーザー名ではなく –

関連する問題