jpa實體類一對多set與list使用

2021-09-11 22:02:56 字數 278 閱讀 5692

當從一的一端取出其所對應的多的一端時,如果用的是set那麼取出多的一端的值時順序是無序的,如果用的是list那麼取出多的一端的值時順序是有序的(其實就是list與set的特性罷了,然鵝。。。。。。)

注:不過jpa設計的時候用的是set不是沒有道理的,主要是利用set的資料不可重複性,用於避免資料的重複,比如新增資料的時候避免資料的重複插入。

完美的解決辦法:在實體類set屬性上加上@orderby("id asc")屬性進行排序,然後在取值的時候使用linkedhashset(不可重複且有序sss)接住即可

JPA雙向一對多 多對一實體配置

需要注意 主鍵要使用jpa策略生成,不然使用級聯操作的時候回多出幾條查詢語句,增加應用和資料庫互動的負擔。t category 為one的一方,t fruit為多的一方 型別表 create table t category id varchar 64 not null primary key,na...

JPA單項一對多外來鍵關聯

一對多即乙個物件中包含又另外乙個物件的集合。user主表 table name user entity public class user public void setlistorder listlistorder id tablegenerator name pk primary table o...

Hibernate 一對多里對 set 的排序

一 註解 url 謝謝各位,我已經解決了,我翻看了文件,color darkblue orderby的方式對list是有效的 color color darkblue set和map用mapkey color color darkblue 我把set改為list了,用了orderby就能排序了 co...