在我的hibernate项目中,我使用getter和setter来保存数据。在每次我需要使用get方法和set方法为每个变量保存。 问题是有没有方便的方法将DTO转换为实体类? reagrds
答案 0 :(得分:0)
我正是为此用例创建了Blaze-Persistence Entity Views。您实际上将JPA实体的DTO定义为接口,并将其应用于查询。它支持映射嵌套的DTO,集合等,本质上是您期望的所有内容,此外,它还将提高查询性能,因为它将生成查询,仅提取您实际为DTO所需的数据。
一个实体视图示例可能像这样
@EntityView(Person.class)
interface PersonDto {
@Mapping("CONCAT(firstName, ' ', lastName)")
String getName();
}
查询看起来像这样
List<PersonDto> dtos = entityViewManager.applySetting(
EntityViewSetting.create(PersonDto.class),
criteriaBuilderFactory.create(em, Person.class)
).getResultList();