浏览 1787 次
锁定老帖子 主题:Hibernate4遇到的一个问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2015-07-10
但是当保存group时,会报以下问题, 好像是从group表查找最大ID时报错,找不到结果 具体代码: ApplicationContext ac = new FileSystemXmlApplicationContext("src/resources/applicationContext.xml"); SessionFactory sf = (SessionFactory) ac.getBean("sessionFactory"); Session s = sf.openSession(); Transaction tx = s.beginTransaction(); Company company = (Company) s.get(Company.class, 1L); System.out.println(company.getComanyAddress()+company.getCompanyName()); Group group = new Group(); group.setNo("8100001"); group.setGroupName("TestZu"); group.setColor("red"); group.setCount(3); group.setRegistTime(new Date()); group.setCompany(company); s.save(group); tx.commit(); s.close(); 所报问题具体情况 Hibernate: select company0_.id as id1_1_0_, company0_.No as No2_1_0_, company0_.companyName as companyN3_1_0_, company0_.comanyAddress as comanyAd4_1_0_, company0_.phoneNumber as phoneNum5_1_0_, company0_.userName as userName6_1_0_, company0_.userEmail as userEmai7_1_0_, company0_.userMobilePhone as userMobi8_1_0_, company0_.password as password9_1_0_ from company company0_ where company0_.id=? 华宇大厦 1201Iliwoo Hibernate: select max(id) from group 3573 [main] WARN spi.SqlExceptionHelper - SQL Error: 1064, SQLState: 42000 3573 [main] ERROR spi.SqlExceptionHelper - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group' at line 1 Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not extract ResultSet at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:123) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:89) at org.hibernate.id.IncrementGenerator.initializePreviousValueHolder(IncrementGenerator.java:132) at org.hibernate.id.IncrementGenerator.generate(IncrementGenerator.java:69) at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:117) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:209) at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:194) at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90) at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:711) at org.hibernate.internal.SessionImpl.save(SessionImpl.java:703) at org.hibernate.internal.SessionImpl.save(SessionImpl.java:698) at com.ssh.test.Test.main(Test.java:61) Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group' at line 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665) at com.mysql.jdbc.Connection.execSQL(Connection.java:3176) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1153) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1266) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:80) ... 12 more 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2015-12-04
根据这个报错是SQL语法错误,group是SQL的关键字,不能作为实体名(表名)。当然实体名可以不改表名可以改。
|
|
返回顶楼 | |