【发布时间】:2021-07-26 10:35:17
【问题描述】:
我有一个 @Entity 有 20 个字段,包括索引和 Hibernate 更新的时间戳:
@Entity
public class MyEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@UpdateTimestamp
private LocalDateTime updatedTime;
private String ....
private String ....
我有一个 Hibernate 的默认构造函数和一个辅助构造函数来设置除 id 和 updatedTime 之外的所有内容。
我不需要(或不想要) id 或 updatedTime 的设置器,因为我只希望 Hibernate 设置它们,它通过反射来实现。
我想试试 Lombok 看看是否可以避免这里涉及的大量样板,但 @Data 添加了 getter 和 setter,并且不会创建相同的构造函数。
我还担心 Lomboks 生成的 equals/hashCode 和 toString 方法会导致 Hibernate 出现细微问题。
这意味着我必须使用其他 Lombok 注释的组合来执行此操作。
如何像这样使用 Lombok 安全地创建实体?
我将不得不混合使用注释和手动方法吗?
【问题讨论】: