2014-02-18 45 views
0

我在我的PostgreSQL表中有一行與我查找的名稱,但Ebean查詢給了我兩個identic結果(相同的主鍵)。每一行都有一個唯一的名稱,所以我必須能夠findUnique()Ebean請求給出2個標識行

finder.where().eq("name", name).findUnique() 

手工SQL查詢給了我只有一個

String sql = "select id, name from totem where name ilike :name"; 

任何想法得到findUnique()工作? 這是一個Ebean錯誤嗎?

+0

當你從PostgreSQL服務器錯誤日誌中得到ebean執行的原始SQL時,你會看到什麼?設置'log_statement ='all'',重新加載PostgreSQL,運行你的測試,並查看服務器日誌顯示的內容。我懷疑ORM正在產生一個不同的查詢,你認爲它是什麼。另外:你確定這個名字是獨一無二的嗎?數據庫中是否存在實際的'UNIQUE'約束? –

回答

0

我有表B.一個OnetoOne關係

所以Ebean產生內加入與此表。

表B具有對應我取上表A.

所以請求返回2行對象兩個入口。