我在实体中使用了Lombok注解'@Data'。我试图像通常情况下一样使用Dto转换器来使用getter,但是似乎并没有按照我的预期工作。看起来我的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()
);
}
}
@Data
很方便,但实体对象通常不应该覆盖equals
和hashCode
方法;最好使用@Getter @Setter
(也许还有@ToString
)代替。 - chrylis -cautiouslyoptimistic-