jpasql结果Map

x7yiwoj4  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(188)

我的代码使用sql结果Map将查询结果Map到dto,并使用这些dto创建列表,但在我的数据库中id可以是 null 这给了我绘制Map的麻烦。这就是为什么我不想用它来代替它,有没有办法为这些dto生成id而不是从sql查询中获取它们?我不能更改我的sql数据,因为它不是个人数据。
我的Map代码看起来像这样,仅供参考我没有使用 @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")}))
ttisahbt

ttisahbt1#

您必须使用constructorresult,因为您需要一个dto作为结果。
entityresult用于将sql结果Map到实体。
如果使用constructorresult,则id列中的null将无关紧要。但是对于entityresult,实体必须有一个id。

相关问题