Java中的OneToMany的使用方法
寫(xiě)在開(kāi)頭
使用jhipster聲明的OneToMany在One的一方DTO中是沒(méi)有與Many的DTO的映射關(guān)系的, 為了在One的一方DTO中使用Many的DTO, 使用以下三步解決此問(wèn)題。
步驟
1. OneDTO 中的"mark 1"處為自己寫(xiě)的一對(duì)多的關(guān)系, 此處變量名稱(chēng)不能與實(shí)體One中相應(yīng)的變量名稱(chē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>{
...
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java中File與MultipartFile互轉(zhuǎn)代碼示例
在Java開(kāi)發(fā)中,當(dāng)需要將本地File對(duì)象轉(zhuǎn)換為MultipartFile對(duì)象以處理文件上傳時(shí),可以通過(guò)實(shí)現(xiàn)MultipartFile接口或使用CommonsMultipartFile類(lèi)來(lái)實(shí)現(xiàn),本文提供了詳細(xì)的轉(zhuǎn)換方法和代碼示例,需要的朋友可以參考下2024-10-10
maven?插件?assembly?打tar.gz包的詳細(xì)過(guò)程
這篇文章主要介紹了maven插件assembly打tar.gz包的詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06
java: 程序包c(diǎn)om.fasterxml.jackson.annotation不存在的解決辦法
當(dāng)我們?cè)趯?dǎo)入程序之后,系統(tǒng)給出錯(cuò)誤提示:java: 程序包c(diǎn)om.fasterxml.jackson.annotation不存在,本文主要介紹了Java程序包不存在的三種解決方法,需要的朋友可以參考下2024-02-02
基于parameters參數(shù)實(shí)現(xiàn)參數(shù)化過(guò)程解析
這篇文章主要介紹了基于parameters參數(shù)實(shí)現(xiàn)參數(shù)化過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
如何利用Java正則表達(dá)式校驗(yàn)密碼規(guī)則
正則表達(dá)式正則表達(dá)式是用來(lái)指定字符串模式的,可以方便的處理文本信息,這篇文章主要給大家介紹了關(guān)于如何利用Java正則表達(dá)式校驗(yàn)密碼規(guī)則的相關(guān)資料,需要的朋友可以參考下2022-09-09

