EclipseLink:默认列名更改为大写
EclipseLink: default column names are changed to uppercase
我有以下实体:
@Entity
public class SomeEntity{
@Id
@Column(name = "id")
private Integer id;
private String foo;
//+getters and setters
}
因此,ecpliselink 将生成以下查询:
SELECT t1.id, t1.FOO FROM ...
我注意到所有默认列名称(我没有通过@Column 设置)都更改为大写。我试图将 eclipselink.jpa.uppercase-column-names
设置为 false
但它没有帮助。我怎样才能让 eclipselink 在不修改的情况下从 class 字段中获取列名?
JPA 将名称标准化为大写。使用 属性 eclipselink.jpa.uppercase-column-names
您只能强制使用大写的 JDBC return 列名称,以便与大写的默认命名相匹配。
如果您不想使用注释 @Column
覆盖列的默认命名,您可以使用 SessionCustomizer 或 DescriptorCustomizer。这两种方式都适用于 eclipselink,并且在本网站上有很好的描述 Link with example of SessionCustomizer & :DescriptorCustomizer
我有以下实体:
@Entity
public class SomeEntity{
@Id
@Column(name = "id")
private Integer id;
private String foo;
//+getters and setters
}
因此,ecpliselink 将生成以下查询:
SELECT t1.id, t1.FOO FROM ...
我注意到所有默认列名称(我没有通过@Column 设置)都更改为大写。我试图将 eclipselink.jpa.uppercase-column-names
设置为 false
但它没有帮助。我怎样才能让 eclipselink 在不修改的情况下从 class 字段中获取列名?
JPA 将名称标准化为大写。使用 属性 eclipselink.jpa.uppercase-column-names
您只能强制使用大写的 JDBC return 列名称,以便与大写的默认命名相匹配。
如果您不想使用注释 @Column
覆盖列的默认命名,您可以使用 SessionCustomizer 或 DescriptorCustomizer。这两种方式都适用于 eclipselink,并且在本网站上有很好的描述 Link with example of SessionCustomizer & :DescriptorCustomizer