数据库对象的默认名称

时间:2014-04-14 11:44:02

标签: jpa jpa-2.0 specifications

我试图找出JPA在没有明确名称设置时使用的列名。

示例:

@Entity
public class TestType {
    private Boolean   active;
    private Character testTypeCode;

    public Boolean getActive() {
        return active;
    }

    public void setActive(Boolean active) {
        this.active = active;
    }

    @Id
    public Character getTestTypeCode() {
        return testTypeCode;
    }

    public void setTestTypeCode(Character testTypeCode) {
        this.testTypeCode = testTypeCode;
    }
}

主键列将使用什么名称,哪个列名将用于属性" active"以及将使用的表名。我正在寻找JPA默认使用的名称的规范。

1 个答案:

答案 0 :(得分:1)

“2.13数据库对象命名”一章指定了(JPA 2.0 spec)。

  

本规范要求如下   解释引用数据库对象的名称。这些名字   包括表,列和其他数据库元素的名称。   这些名称还包括因违约而产生的名称(例如,a   从实体名称或列名称默认的表名称   是默认的字段或属性名称。)

在您的示例中,表名称为TestType,ID列名称为testTypeCode,活动列的调用方式相同。还请注意,在SQL标准中,所有列和表名都不区分大小写,尽管有一些反例(例如Unix上的MySQL:表名区分大小写)。