我是否必须使用Hibernate在我的Java类中使用get和set这个词?

时间:2013-08-15 18:40:23

标签: java hibernate

我见过的大多数例子都是this

private int productId;
private String proName;
private double price;

public void **set**ProductId(int productId)
{
    this.productId = productId;
}
public int **get**ProductId()
{
    return productId;
}

public void setProName(String proName)
{
    this.proName = proName;
}
public String getProName()
{
    return proName;
}

public void setPrice(double price)
{
    this.price = price;
}
public double getPrice()
{
    return price;
}

使用Hibernate时是否需要此命名约定?

2 个答案:

答案 0 :(得分:2)

此名称约定最初由Java Beans引入。属性的统一命名约定(getXXXsetXXX)允许运行时发现(和访问)框架的java bean属性。 由于Hibernate可以使用反射访问私有字段,如How can hibernate access a private field?中所述,因此不需要遵循此命名约定,但这是一个很好的做法。

答案 1 :(得分:0)

基于Hibernate 3.6 documentation

  

如果这些类遵循一些简单的规则(也称为Plain Old Java Object(POJO)编程模型),则Hibernate的效果最佳。但是,这些规则都不是硬性要求。实际上,Hibernate对持久对象的性质几乎没有假设。您可以通过其他方式表达域模型(例如,使用java.util.Map实例的树)。