【发布时间】:2020-06-22 07:25:37
【问题描述】:
我在我的实体中使用了 lombok 注释“@Data”。我试图通过 Dto Converter 使用 getter,就像我在没有 lombok 的情况下正常使用它一样。不知何故,它不像我预期的那样工作。看起来我的 lombok 没有创建 getter,或者我没有访问权限?
@Entity
@Table(name = "product")
@Data
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "name")
private String name;
Dto转换器:
public class ProductEntityToProductDetailsDtoConverterImpl {
@Override
public ProductDetailsDto convert(Product product) {
return new ProductDetailsDto(
product.getId(),
product.getName()
);
}
}
【问题讨论】:
-
您使用的是哪个 IDE?
-
Intellij Idea UE
-
在 IntelliJ IDEA 中,您必须在设置中启用它,然后再安装 Lombok 插件。
-
如果使用 IntelliJ IDEA,可能需要enable Lombok annotations
-
注意,虽然使用
@Data很方便,但Entity对象一般不应该覆盖equals和hashCode;最好改用@Getter @Setter(也许@ToString)。