首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate在columnDefinition周围设置回溯

Hibernate在columnDefinition周围设置回溯
EN

Stack Overflow用户
提问于 2016-01-25 11:38:41
回答 1查看 1.4K关注 0票数 0

我在数据库中有一个列,它在实体类中定义如下:

代码语言:javascript
复制
@Column(name="lastlogindate", columnDefinition ="TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
private Timestamp lastlogindate;

正在生成的create table命令如下:

代码语言:javascript
复制
create table usermaster (
  lastlogindate `TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP`)

而有效的是

代码语言:javascript
复制
create table usermaster (
  lastlogindate TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)

Hibernate在创建表时报告以下错误:

您的SQL语法出现错误;请检查与您的MySQL服务器版本对应的手册,以获得在“TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP”附近使用的正确语法,

无法理解为什么会增加额外的滴答,以及如何避免。

该版本的详细内容如下:

  • HIBERNATE版本:4.3.8最后
  • MySQL版本:5.6.26
  • MySQL方言信息:
代码语言:javascript
复制
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="transaction.factory_class">
    org.hibernate.transaction.JDBCTransactionFactory</property>
    <property name="current_session_context_class">thread</property>
    <property name="show_sql">true</property>
    <property name="hibernate.connection.autocommit ">false</property>
    <property name="hibernate.globally_quoted_identifiers">true</property>
EN

回答 1

Stack Overflow用户

发布于 2016-01-25 13:23:37

请删除以下配置行:

代码语言:javascript
复制
<property name="hibernate.globally_quoted_identifiers">true</property>

这很可能是不需要的,而且几乎肯定会导致你所经历的问题。

更新:

通过将方言从泛型MySQL5改为MySQL,最终解决了这个问题:

代码语言:javascript
复制
org.hibernate.dialect.MySQL5Dialect
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34991684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档