如果提供了无参数构造函数和设置器,Jdbi 无法将结果映射到 bean

问题描述

我已将 jdbi 3.18.0 与 Spring Boot 2.4.x 集成。一切正常。

现在我想看看是否可以让对象(用于数据库访问/映射)没有任何 setter 并使用(对于其中大多数)构建器类。

到目前为止,我无法完成这项工作。如果对象没有无参数构造函数jdbi 总是会失败,如果这个对象没有 setter,它也无法将任何结果映射到 bean 中。

那么今天有可能实现这一目标吗?

这是我的一个例子:

@Builder(setterPrefix = "with")
public final class Exam {
  @Getter(onMethod = @__(@ColumName("exam_id")))
  private Long id;

  @Getter(onMethod = @__(@ColumName("exam_type")))
  private Long type;

  // ...some objects have tons of fields/members,hence I would like to use a builder only instead
}

目前,我还没有找到实现这种事情的方法。我必须删除 @Builder(setterPrefix = "with") 并将 @NoArgsConstructor@Setter 一起使用才能完成这项工作 - 我真的很想删除这两个。

我知道 @Getter(onMethod ... 业务有点丑陋,我可以使用变量的驼峰式大小写版本来实现相同的效果,但到目前为止还不错;)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)