2012-08-17 31 views
1

這是我的題目的數據成員:Ebean:奇怪的結果

public class Topic extends Model { 
@Id 
protected long id; 
public String title; 
public String content; 
@ManyToOne 
@JoinColumn(name = "forumId") 
public Forum forum; // this is a reference to the topic's forum. 

論壇屬性保存在PostgreSQL中爲BIGINT(論壇類的ID)

這是我的主題搜索:

public static Finder<Long,Topic> find = new Finder<Long,Topic>(Long.class, Topic.class); 

現在,我正在嘗試最簡單的事情使用Finder。通過論壇ID檢索主題。
我嘗試了許多變化,這就是其中之一:

public static List<Topic> getTopicsByForum(long id) { 
    Forum forum = Forum.getById(id); 
    return find.where().gt("forumId", forum).findList(); 
} 

我得到錯誤的結果。我必須做錯事,但不知道是什麼。

回答

1

隨着Ebean,你可以直接訪問屬性,所以試試這個:

public static List<Topic> getTopicsByForum(Long forumId) { 
    return find.where().eq("forum.id", forumId).findList(); 
} 
+0

好吧,它的工作原理。但我需要從「forumId.id」更改爲「forum.id」作爲屬性名稱。 – socksocket 2012-08-17 13:38:42

+1

啊,是的,對不起;它必須是屬性名稱(而不是列名稱)。 – 2012-08-17 13:40:46