我有一个这样的POJO(Groovy)
class User {
@Column(name = 'Username')
String username
@Column(name = 'EmailAddress')
String emailAddress
}
我似乎并没有强迫JPA生成这样的模式:
create table User (
Username varchar(64),
EmailAddress varchar(64)
)
我得到的是username varchar
和email_address varchar
。可以设置哪些配置选项来解决此问题?
答案 0 :(得分:2)
在PostgreSQL中,未加引号的名称不区分大小写。 因此,用户名和用户名相同。
如果要使用区分大小写的名称,则必须将名称用双引号引起来。
但是我建议不要使用区分大小写的名称。
关于长度YCF_L正确,@Column批注中缺少长度参数。
@Column(name = 'Username', length = 64)
答案 1 :(得分:0)
您必须使用postGresql方言才能使用区分大小写的表名,将方言更新/添加到PostgreSQLDialect
或PostgreSQL82Dialect
修改要使用的application.properties,
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect