Java中的OneToMany的使用方法
寫在開頭
使用jhipster聲明的OneToMany在One的一方DTO中是沒有與Many的DTO的映射關系的, 為了在One的一方DTO中使用Many的DTO, 使用以下三步解決此問題。
步驟
1. OneDTO 中的"mark 1"處為自己寫的一對多的關系, 此處變量名稱不能與實體One中相應的變量名稱一致,否則編譯失敗。
2. OneMapper 中的"mark 2"處 uses屬性添加ManyMapper。
2. OneMapper 中的"mark 3"處使用@Mapping注解聲明 Entity 轉(zhuǎn) DTO 的映射關系。
Entity
@Entity @Table(name = "one") public class One { ... @OneToMany(mappedBy = "one") private Set<Many> manys = new HashSet<>(); ... public void setManys(Set<Many> manys) { this.manys = manys; } public Set<Many> getManys() { return manys; } } @Entity @Table(name = "many") public class Many { ... @ManyToOne private One one; }
DTO
public class OneDTO { ... // mark 1 private Set<ManyDTO> manyDTOS = new HashSet<>(); ... public void setManyDTOS(Set<ManyDTO> manyDTOS) { this.manyDTOS = manyDTOS; } public Set<ManyDTO> getManyDTOS() { return manyDTOS; } } public class ManyDTO { ... private Long oneId; ... public void setOneId(Long oneId) { this.oneId = oneId; } public Long getOneId() { return oneId; } }
Mapper
// mark 2 @Mapper(componentModel = "spring", uses = {ManyMapper.class}) public interface OneMapper extends EntityMapper<OneDTO, One> { // mark 3 @Mapping(souce = "manys", target = "manyDTOS") OneDTO toDto(One one); ... } @mapper(componentModel = "spring", uses = {OneMapper.class}) public interface ManyMapper extends EntityMapper<ManyDTO, Many>{ ... }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
spring boot2.0圖片上傳至本地或服務器并配置虛擬路徑的方法
最近寫了關于圖片上傳至本地文件夾或服務器,上傳路徑到數(shù)據(jù)庫,并在上傳時預覽圖片。本文通過實例代碼給大家分享spring boot2.0圖片上傳至本地或服務器并配置虛擬路徑的方法,需要的朋友參考下2018-12-12基于紅黑樹插入操作原理及java實現(xiàn)方法(分享)
下面小編就為大家分享一篇基于紅黑樹插入操作原理及java實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12如何應對spring框架的HTTP ERROR 400 Bad Request錯
這篇文章主要介紹了如何應對spring框架的HTTP ERROR 400 Bad Request錯誤返回問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08Java 數(shù)據(jù)結構與算法系列精講之環(huán)形鏈表
無論是靜態(tài)鏈表還是動態(tài)鏈表,有時在解決具體問題時,需要我們對其結構進行稍微地調(diào)整。比如,可以把鏈表的兩頭連接,使其成為了一個環(huán)狀鏈表,通常稱為循環(huán)鏈表2022-02-02Java代碼規(guī)范與質(zhì)量檢測插件SonarLint的使用
本文主要介紹了Java代碼規(guī)范與質(zhì)量檢測插件SonarLint的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08Java中對AtomicInteger和int值在多線程下遞增操作的測試
這篇文章主要介紹了Java中對AtomicInteger和int值在多線程下遞增操作的測試,本文得出AtomicInteger操作 與 int操作的效率大致相差在50-80倍上下的結論,需要的朋友可以參考下2014-09-09