【发布时间】:2014-08-18 05:01:17
【问题描述】:
实体类是:
@Entity
@Table(name = "movieDetail")
public class MovieDetailImpl implements MovieDetail {
@Id
// primary key
@Column(name = "idmovieDetail")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "cast")
private String cast;
@Column(name = "producer")
private String producer;
@Column(name = "director")
private String director;
@Column(name = "trailer")
private URL trailer;
@Column(name = "photo")
private URL photo;
@Column(name = "plot")
private URL plot;
@Column(name = "desc")
private String desc;
@Column(name = "moreDetails")
private URL moreDetails;
// Getters/Setters
}
我正在尝试仅设置 cast 的 MovieDetail 实体。其余字段为null。
Hibernate 抛出以下异常:
014-08-17 21:47:35 INFO TransactionFactoryInitiator:62 - HHH000399: 使用默认事务策略(直接 JDBC 事务)
2014-08-17 21:47:35 信息 ASTQueryTranslatorFactory:47 - HHH000397: 使用 ASTQueryTranslatorFactory
2014-08-17 21:47:36 信息 HibernateTransactionManager:341 - 使用 数据源 [org.springframework.jdbc.datasource.DriverManagerDataSource@1fba434a] HibernateTransactionManager 的 Hibernate SessionFactory
休眠:插入movieDetail(cast, desc, director, moreDetails, 照片,情节,制片人,预告片)值(?,?,?,?,?,?,?,?)
2014-08-17 21:47:36 警告 SqlExceptionHelper:144 - SQL 错误:1064, SQLState: 42000
2014-08-17 21:47:36 错误 SqlExceptionHelper:146 - 你有一个错误 在您的 SQL 语法中;检查与您的 MySQL 对应的手册 在 'desc, director, 附近使用正确语法的服务器版本 moreDetails、照片、情节、制片人、预告片)值('testGetAll' at 第 1 行
2014-08-17 21:47:36 信息 GenericApplicationContext:873 - 关闭 org.springframework.context.support.GenericApplicationContext@40266966: 启动日期 [2014 年 8 月 17 日星期日 21:47:34 PDT];上下文层次结构的根
在我的 'database.properties' 中,我有:
jdbc.dialect=org.hibernate.dialect.MySQL5Dialect
我正在使用 MySQL 社区服务器 5.6.20。而maven的pom.xml中定义的mysql java驱动版本依赖是
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.28</version>
</dependency>
我这里有什么遗漏吗?
【问题讨论】:
-
你有一个名为
desc的列,而desc是MySql中的保留作品,换个名字试试。