public TbManager login(String account) {
// TODO Auto-generated method stub

TbManager manager = null;
Session session = HibernateSessionFactory.getSession();
try {
session.beginTransaction();
System.out.println("********"+account);
String hql="from TbManager m where m.account=?";
//创建query并设置参数并根据用户名查询,返回唯一结果
manager = (TbManager)session.createQuery(hql).setString(0, account).uniqueResult();
session.getTransaction().commit();
} catch (HibernateException e) {
session.getTransaction().rollback();
e.printStackTrace();
} finally {
session.close();
}
return manager;
}
----------------------
2010-04-27 19:32:19  preparing statement
2010-04-27 19:32:19  binding 'admin' to parameter: 1
2010-04-27 19:32:19  about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
2010-04-27 19:32:19  closing statement
2010-04-27 19:32:19  could not execute query [select tbmanager0_.id as id10_, tbmanager0_.account as account10_, tbmanager0_.password as password10_, tbmanager0_.managerLevel as managerL4_10_ from db_personManager.dbo.tb_manager tbmanager0_ where tbmanager0_.account=?]
java.sql.SQLException: 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 '.tb_manager tbmanager0_ where tbmanager0_.account='admin'' at line 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3004)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1128)
Caused by: java.sql.SQLException: 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 '.tb_manager tbmanager0_ where tbmanager0_.account='admin'' at line 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3004)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1128)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1222)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1668)
at org.hibernate.loader.Loader.doQuery(Loader.java:662)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2144)
... 38 more
2010-04-27 19:32:19  closing session
2010-04-27 19:32:19  connection already null in cleanup : no action
大家看一下 是不是数据访问出错了;