2016-07-14 55 views
0

我一直在處理這個,現在我想控制這個。由於數據的大小,我必須控制由Hibernate填充的列表。一對多註釋列表控件休眠

@OneToMany(mappedBy="members") 
private List<Members> membersList; 

所以memberList可以長到100,android的Sql不能接受它。我的意思是存儲到內部數據庫的列表大小很大。

無論如何控制列表大小保存到android內部數據庫之前?

感謝, Pusp

+0

是它在Android JPA項目? –

+0

是的,你是否具體關於任何事情,即使我指的是ArrayList list = new ArrayList <>(20); –

回答

0

您需要設置您的收藏類型。

@OneToMany(mappedBy="members") 
private Set<MembersList> memberList; 

UPDATE

文檔說:

自然Hibernate也可以堅持的集合。這些持久集合可以包含幾乎任何其他Hibernate類型,包括:基本類型,自定義類型,組件和對其他實體的引用。價值和參考語義之間的區別在這方面非常重要。集合中的一個對象可能用「值」語義來處理(它的生命週期完全取決於集合所有者),或者它可能是對具有其自己生命週期的另一個實體的引用。在後一種情況下,只有兩個對象之間的「鏈接」才被視爲集合所持有的狀態。

作爲一個需求,持久集合值字段必須聲明爲接口類型(請參見示例7.2,「使用@OneToMany和@JoinColumn進行集合映射」)。實際的接口可能是java.util.Set,java.util.Collection,java.util.List,java.util.Map,java.util.SortedSet,java.util.SortedMap或任何你喜歡的東西(「任何你喜歡的東西」意味着您將不得不編寫org.hibernate.usertype.UserCollectionType的實現)。

鏈接:https://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/collections.html#collections-mapping

+0

謝謝,您的意見,請解決請解釋 –