Java中的OneToMany的使用方法
程序员文章站
2023-11-16 21:19:58
写在开头
使用jhipster声明的onetomany在one的一方dto中是没有与many的dto的映射关系的, 为了在one的一方dto中使用many的dto, 使用...
写在开头
使用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 转 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>{ ... }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇: 解析SQLServer任意列之间的聚合