Java 通过注释spring从数据库获取数据的方法之间有什么区别?

Java 通过注释spring从数据库获取数据的方法之间有什么区别?,java,spring,spring-data-jpa,Java,Spring,Spring Data Jpa,你好,我在学春天。我看到了几个使用实体的选项。我不明白这两种方法之间是否有任何区别 首先 第二 @Entity @NoArgsConstructor @EqualsAndHashCode public class ProductTest { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id_product", table = "product&

你好,我在学春天。我看到了几个使用实体的选项。我不明白这两种方法之间是否有任何区别

首先

第二

@Entity
@NoArgsConstructor
@EqualsAndHashCode
public class ProductTest {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id_product", table = "product", nullable = false)
    private Long idProduct;
    @Basic
    @Column(name = "name_product", table = "product", nullable = false, 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;
    }
}
使用数据库有什么更好的方法

还想知道我是否可以通过实体向表中添加列,以及如何添加列?
我很高兴听到你的建议。

主要区别在于逻辑的分离。 如果getter和setter中不需要逻辑,那么注释将放置在字段上方,并且可以从Lombok注释中删除getter和setter。 有关更多信息,请点击以下链接

@Entity
@NoArgsConstructor
@EqualsAndHashCode
public class ProductTest {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id_product", table = "product", nullable = false)
    private Long idProduct;
    @Basic
    @Column(name = "name_product", table = "product", nullable = false, 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;
    }
}