我喜欢JPA EclipseLink创建表格与ClassName(和字段)完全一样,没有注释@Table和@Column。它始终使用大写创建表和字段,这很难被DB控制台读取。
例如:
@Entity
public class ChannelEntity {
@Id @GeneratedValue
public Long id;
public String name;
public String description;
public Boolean oficial;
@Temporal(TemporalType.TIMESTAMP)
public Date creation;
}
我想要结果
Table: ChannelEntity
id creation description name oficial
----------------------------------------------------
351 NULL meu desc meu nome 1
可能在persistence.xml中存在相同的参数,但我无法找到它。
答案 0 :(得分:1)
如果EclipseLink行为正确,您要查找的参数是delimited-identifers
。从JPA 2.1规范:
可以指定用于a的所有数据库标识符 通过指定,将持久性单元视为分隔标识符
<delimited-identifiers/>
中的persistence-unit-defaults
元素 对象/关系xml映射文件的元素。如果 指定了<delimited-identifiers/>
元素,但不能 重写的。
如果包含此元素,EclipseLink应在其生成的SQL中分隔所有数据库标识符,这将导致使用区分大小写的名称创建数据库对象。