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

