【发布时间】:2023-03-20 05:58:01
【问题描述】:
我同时使用project lombok 和Hibernate。
我想知道在实体类上通常应该使用哪个 lombok 注释。
第一个候选者是@Data,但它会为所有非最终字段生成设置器。由于id 字段不是最终的,我有我不想要的setId() 方法。
第二个候选者是@Value,但随后id 字段被标记为最终字段,这就是它必须由应用程序手动分配的原因。
我也可以使用@Builder,但它与@Data 有同样的问题。
为了解决@Data 的问题,我可以为id 字段编写自己的私有设置器来覆盖生成的设置器。但也许有更好的方法?在这种情况下,最佳做法是什么?
【问题讨论】:
-
独立为字段添加getter和setter注解。如果您需要最终字段,可以使用所需的 args ctor
-
您可以使用访问受限的 settter。 stackoverflow.com/a/34299054/479159
标签: java jpa annotations lombok