问题描述
早上好,我正在学习春天。我看到了与实体合作的几种选择。我不明白这两种方法之间是否有任何区别。
第一
@Entity
@NoArgsConstructor
@EqualsAndHashCode
public class ProductTest {
private Long idProduct;
private String nameProduct;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_product",table = "product",nullable = false)
public Long getIdProduct() {
return idProduct;
}
public void setIdProduct(Long idProduct) {
this.idProduct = idProduct;
}
@Basic
@Column(name = "name_product",nullable = false,length = 100)
public String getNameProduct() {
return nameProduct;
}
public void setNameProduct(String nameProduct) {
this.nameProduct = nameProduct;
}
}
第二
@Entity
@NoArgsConstructor
@EqualsAndHashCode
public class ProductTest {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_product",nullable = false)
private Long idProduct;
@Basic
@Column(name = "name_product",length = 100)
private String nameProduct;
public Long getIdProduct() {
return idProduct;
}
public void setIdProduct(Long idProduct) {
this.idProduct = idProduct;
}
public String getNameProduct() {
return nameProduct;
}
public void setNameProduct(String nameProduct) {
this.nameProduct = nameProduct;
}
}
使用数据库会更好吗?
还对我是否可以通过Entity向表中添加列感兴趣? 我很高兴听到您的建议。
解决方法
主要区别在于逻辑的分离。 如果getter和setter中不需要逻辑,则将注释放在字段上方,并且可以从Lombok注释中删除getter和setter。 欲了解更多信息,请点击以下链接 Hibernate Annotations - Which is better,field or property access? Hibernate Annotation Placement Question