2011-02-01 50 views
3

在Web應用程序中,通常在選擇集合元素時將ID列表發送到服務器。可能有一個代表課程的HTML表單,它將包含一個學期所有學生的列表。通過選擇一些學生,他們將與課程相關聯。服務器將收到學生ID列表。將ID列表轉換爲具有ORM的對象列表,如休眠

將這個ID列表(DB中的主鍵)轉換爲帶有像Hibernate這樣的ORM的域對象列表的最佳實踐是什麼?我想避免再次爲每個域類編寫相同的代碼。 Grails做了這樣的事情(但我不知道如何)。

回答

4

,所以我們有一個方法,一個通用的DAO這樣

public <T extends IDomainObject> List<T> getAll(Class<T> type, List<Integer> ids) { 
    return (List<T>) session.createCriteria(type).add(Restrictions.in("id", ids).list(); 
} 

按照慣例我們所有的領域模型對象器具IDomainObject,有一個主鍵字段名爲id