相关疑难解决方法(0)

如何从Lombok builder中排除属性?

我有一个名为"XYZClientWrapper"的类,它具有以下结构:

@Builder
XYZClientWrapper{
    String name;
    String domain;
    XYZClient client;
}
Run Code Online (Sandbox Code Playgroud)

我想要的是没有为属性生成的构建函数 XYZClient client

Lombok是否支持此类用例?

java builder lombok

40
推荐指数
8
解决办法
2万
查看次数

如何创建安全的 Lombok JPA 实体?

我有@Entity20 个字段,包括索引和由 Hibernate 更新的时间戳:

@Entity
public class MyEntity {
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Long id;
  @UpdateTimestamp
  private LocalDateTime updatedTime;
  private String ....
  private String ....
Run Code Online (Sandbox Code Playgroud)

我有一个 Hibernate 的默认构造函数和一个辅助构造函数来设置除 id 和 UpdatedTime 之外的所有内容。

我不需要(或想要)id 或updatedTime 的setter,因为我只希望Hibernate 设置它们,并且它通过反射来实现。

我想尝试一下 Lombok,看看是否可以避免这里涉及的大量样板,但@Data添加了 getter 和 setter,并且不创建相同的构造函数。

我还担心 Lomboks 生成的 equals/hashCode 和 toString 方法可能会导致 Hibernate 出现微妙的问题。

这意味着我必须结合使用其他 Lombok 注释来执行此操作。

如何像这样使用 Lombok 安全地创建实体?
我是否必须混合使用注释和手动方法?

java hibernate jpa lombok

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×2

lombok ×2

builder ×1

hibernate ×1

jpa ×1