用JPA创建具有保留字名的字段@Column(name="open")使用sqlserver方言和Hibernate。[SchemaUpdate] Unsuccessful: create table auth_session (id numeric(19,0) identity not null, active tinyint null,
creation_date datetime not null, last_modified datetime not null, maxidle int null, maxlive int null, open tinyint null,
sessionid varchar(255) not null, user_id numeric(19,0) not null, primary key (id), unique (sessionid))[SchemaUpdate]
Incorrect syntax near the keyword 'open'.我希望Hibernate在创建表时使用引用的标识符。对如何处理这件事有什么想法.。除了改名外?
3 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
@Column(name="`open`")
5.4.SQL引号标识符
您可以强制Hibernate引用生成的SQL中的标识符,方法是将表或列名封装在映射文档的Backticks中。Hibernate将对SQL方言使用正确的引号样式。这通常是双引号,但SQLServer使用括号,MySQL使用Backticks。 <class name="LineItem" table="`Line Item`"> <id name="id" column="`Item Id`"/><generator class="assigned"/></id> <property name="itemNumber" column="`Item #`"/> ...</class>
@Column(name="\"open\"")
参考文献
Hibernate参考指南 JPA2.0规范 2.13数据库对象的命名
相关问题
添加回答
举报
0/150
提交
取消