0
我使用休眠和SQL請求來訪問數據庫中的實體。我不使用預加載/延遲加載,因爲比ORM更喜歡使用SQL請求。有時候,我需要讓孩子實體的主要實體,所以接下來我做的:休眠一對多使用集而不是列表
List<ChildEntity> tempList = (List<ChildEntity>) getSession()
.createSQLQuery(SQL_QUERY)
.addScalar(...)
...
.list();
,然後單擊下一步做什麼:
Set<ChildEntity> childEntities = new LinkedHashSet<ChildEntity>();
而且從列表中添加的所有元素使用迭代器來設置。然後我將這個childEntities設置爲主要實體。這是休眠的正常方式嗎?
而且爲什麼所有推薦使用Set而不是List在一對多關係中,但hibernate方法獲取實體列表.list()return List,not Set?