org.hibernate.exception.SQLGrammarException: could not execute query

// 打开会话
Session session = HibernateUtil.getSession();
// 开启事务
Transaction tx = null;
Wine wine;
try {
tx = session.beginTransaction();

String sql = "SELECT * FROM wine WHERE W_ID >= (SELECT floor(RAND() * (SELECT MAX(W_ID) FROM wine))) ORDER BY W_ID LIMIT 1 ; ";
// 使用会话获得对象
SQLQuery query = session.createSQLQuery(sql);
query.addEntity(Humor.class);
wine = (Wine) query.list().get(0);
// 提交事务
tx.commit();

 

除去SQL语法错误,还有可能是设置错误的实体,这样大意的错误不能再犯

posted @ 2015-01-13 09:37  我去不科学的-ef  阅读(1292)  评论(0编辑  收藏  举报