这是我写的一个方法
public BeanAdmin adminLogin(String loginName, String loginPwd) throws Exception {
// TODO Auto-generated method stub
Session session = MySessionFactory.getSession();
Transaction tx = null;
BeanAdmin admin = null;
try{
Query query = session.createQuery
("from BeanAdmin as a where a.admin_name=:loginName and a.admin_pwd=:loginPwd");
query.setMaxResults(1);
query.setParameter("loginName",loginName);
query.setParameter("loginPwd", loginPwd);
tx = session.beginTransaction();
admin = (BeanAdmin)query.uniqueResult();
tx.commit();
}catch(Exception ex){
if(tx!=null)tx.rollback();
ex.printStackTrace();
}finally{
MySessionFactory.closeSession();
}
return admin;
}
主函数
public static void main(String args[]) throws Exception{
AdminServiceImpl as=new AdminServiceImpl();
BeanAdmin admin=new BeanAdmin();
admin=as.adminLogin("sa", "123456");
}
错误:
log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Hibernate: select top 1 beanadmin0_.admin_id as admin_id1_1_, beanadmin0_.admin_type as admin_ty2_1_, beanadmin0_.admin_type_name as admin_ty3_1_, beanadmin0_.admin_name as admin_na4_1_, beanadmin0_.admin_pwd as admin_pw5_1_ from doudou_shop.admin beanadmin0_ where beanadmin0_.admin_name=? and beanadmin0_.admin_pwd=?
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:91)
at org.hibernate.loader.Loader.getResultSet(Loader.java:2065)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1862)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
at org.hibernate.loader.Loader.doQuery(Loader.java:909)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)
at org.hibernate.loader.Loader.doList(Loader.java:2553)
at org.hibernate.loader.Loader.doList(Loader.java:2539)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2369)
at org.hibernate.loader.Loader.list(Loader.java:2364)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:496)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:387)
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:231)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1264)
at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)
at org.hibernate.internal.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:966)
at doudou.service.AdminServiceImpl.adminLogin(AdminServiceImpl.java:31)
at doudou.service.AdminServiceImpl.main(AdminServiceImpl.java:153)
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 '1 beanadmin0_.admin_id as admin_id1_1_, beanadmin0_.admin_type as admin_ty2_1_, ' 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.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:82)
... 17 more