【发布时间】:2020-07-22 10:51:35
【问题描述】:
我的代码是使用 Sql Result Mapping 将查询结果映射到 DTO 并使用这些 dto 创建列表,但在我的数据库中,id 可以是null,这给我映射带来了麻烦。这就是为什么我不想使用它而不是那个,有没有办法为这些 dto 生成 id,而不是从 sql 查询中获取它们?我无法更改我的 sql 数据,因为它不是个人数据。
我的映射代码看起来像这样,仅供参考,我没有使用@ConstructorResult,我不确定@EntityResult 和@ConstructorResult 之间有什么区别,但在实体中我给出了列名,我必须匹配我的 DTO 类的表列。
@SqlResultSetMapping(
name = "ApplicationMapping",
entities = @EntityResult(entityClass = com.sqlresultsetmapping.ApplicationDto.class,
fields = {
@FieldResult(name = "name", column = "name"),
@FieldResult(name = "create", column = "create"),
@FieldResult(name = "update", column = "update"),
@FieldResult(name = "version", column = "version"),
@FieldResult(name = "image", column = "image"),
@FieldResult(name = "id", column = "id")}))
【问题讨论】:
标签: java sql jpa hibernate-mapping