Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用ModelMapper时获取空值_Java_Spring_Hibernate_Modelmapper - Fatal编程技术网

Java 使用ModelMapper时获取空值

Java 使用ModelMapper时获取空值,java,spring,hibernate,modelmapper,Java,Spring,Hibernate,Modelmapper,我试图在转换过程中使用ModelMapper。我需要做的是将Sample实体转换为SampleDTO对象 我的示例实体如下所示: @实体 @表(name=“sample”,schema=“sample\u schema”) @资料 @诺尔格构装师 公共类样本{ 私有静态最终字符串序列=“样本\序列”; @身份证 @SequenceGenerator(sequenceName=SEQUENCE,name=SEQUENCE,allocationSize=1) @GeneratedValue(策略=G

我试图在转换过程中使用
ModelMapper
。我需要做的是将
Sample
实体转换为
SampleDTO
对象

我的
示例
实体如下所示:

@实体
@表(name=“sample”,schema=“sample\u schema”)
@资料
@诺尔格构装师
公共类样本{
私有静态最终字符串序列=“样本\序列”;
@身份证
@SequenceGenerator(sequenceName=SEQUENCE,name=SEQUENCE,allocationSize=1)
@GeneratedValue(策略=GenerationType.SEQUENCE,生成器=序列)
私人长id;
@列(name=“name”)
私有字符串名称;
@纵队
私家姓;
@OneToOne(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@JoinColumn(name=“id\u details”)
私人资料;
}
其中包含
详细信息
一个:

@实体
@表(name=“details”,schema=“sample\u schema”)
@资料
@诺尔格构装师
公开课详情{
私有静态最终字符串序列=“详细信息\u序列”;
@身份证
@SequenceGenerator(sequenceName=SEQUENCE,name=SEQUENCE,allocationSize=1)
@GeneratedValue(策略=GenerationType.SEQUENCE,生成器=序列)
私人长id;
@列(name=“street\u name”)
私有字符串streetName;
@纵队
私人城市;
}
我希望DTO采用以下格式:

@noargsconstuctor
@AllArgsConstructor
@资料
公共类样本{
私人长id;
私有字符串名称;
私家姓;
私有字符串streetName;
私人城市;
}
我还制作了一个ModelMapper bean,如:

@Bean
公共模型映射器模型映射器(){
返回新的ModelMapper();
}
我制作了一个转换器组件:

@组件
公共类实体数据转换器{
私人最终模型映射器模型映射器;
@自动连线
公共实体数据转换程序(ModelMapper ModelMapper){
this.modelMapper=modelMapper;
}
公共样本到样本(样本实体){
返回modelMapper.map(实体,SampleDTO.class);
}
}
问题是 当我尝试在我的服务中使用此映射器转换器时

@服务
公共类示例服务{
私人最终采样器存放处采样器存放处;
专用最终实体DToConverter实体DToConverter;
@自动连线
公共采样服务(采样器位置采样器位置、实体数据转换器实体数据转换器){
this.samplePository=samplePository;
this.entityDtoConverter=entityDtoConverter;
}
公共列表getSamples(){
List samples=samplePository.findAll()
.map(entityDtoConverter::SampleToToTo);
返回新列表(示例页);
}
}
我在
Details
字段的位置得到空值

我已经使用ModelMapper了解了模型到dto的转换,以及它的功能,但至少没有多少帮助。有些东西我遗漏了,我不知道是什么

我正在做:

  • 爪哇11
  • 弹簧靴2.3.0
  • ModelMapper 2.3.8
试试:

modelMapper.getConfiguration().setPropertyCondition(Conditions.isNotNull());
同时检查: