1
我在@ManyToOne關係中的對象和「一個」方面我沒有@OneToMany關係如何在這種情況下添加@IndexColumn? 我可以在@ONeToOne關係中添加@indexColumn嗎?如何添加索引到@ManyToOne關係
我在@ManyToOne關係中的對象和「一個」方面我沒有@OneToMany關係如何在這種情況下添加@IndexColumn? 我可以在@ONeToOne關係中添加@indexColumn嗎?如何添加索引到@ManyToOne關係
你的問題沒有多大意義。 IndexColumn用於在OneToMany或ManyToMany關聯中將索引分配給List的元素。您只有一個ManyToOne關聯,因此根本沒有列表,因此不需要索引列。
我可以想象你會想要執行一個查詢返回一個父母的所有孩子,並希望他們放在一個特定的索引列表。在這種情況下,你需要一個持久的索引字段添加到您的子實體,執行查詢,通過索引的兒童進行排序,然後創建索引表自己:
List<Child> sortedList =
session.createQuery("select c from Child c where c.parent = :parent order by c.index")
.setParameter("parent, parent)
.list();
List<Child> indexedList = new ArrayList<Child>();
for (Child child : sortedList) {
indexedList.ensureCapacity(child.getIndex() + 1);
indexedList.set(child.getIndex(), child);
}
對於OneToOne協會,IndexColumn註解真的沒有按沒有任何意義。
謝謝,如果有一個從ManyToOne關係創建的數據庫列中,我可以在註釋中創建此列的索引? – 2012-07-18 11:07:48
我不明白你的意思。 – 2012-07-18 11:26:08
我有對象狀態和對象客戶和客戶之間的manyToOne關係在數據庫我有表狀態和表客戶列「StateID」我怎麼能添加到此列索引註釋。 – 2012-07-18 11:37:08