guanyy
2015-09-23 19:16
按照老师的来 到登录的那一步老是报 Users is not mapped [from Users u where u.username=? and u.password=? ]
hibernate 5这样写
//创建配置对象(读取配置文档)
Configuration config = new Configuration().configure();
//创建会话工厂对象
sessionFactory = config.buildSessionFactory();
//会话对象
session = sessionFactory.openSession();
//开启事务
transaction = session.beginTransaction();
---------------------
作者:ninelie
来源:CSDN
原文:https://blog.csdn.net/ninelie/article/details/52654934
版权声明:本文为博主原创文章,转载请附上博文链接!
你应该是把hql语句中的Users写成了USERS;注意hql语句中的表名应该是ORM映射的类名,而不是数据库中的表名。
执行是query.setParameter(0, u.getUsername());
报错Unknown parameter position 0 是什么原因
表示hibernate 5.0+是不是不好用呀
我用的也是5.0.4的版本。使用createQuery()不行
public boolean usersLogin(Users u) {
// TODO Auto-generated method stub
Transaction tx = null;
String sql = "";
try
{
Session session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx = session.beginTransaction();
sql = "select * from users where username=? and password=? ";
表名不区分大小写
Query query = session.createSQLQuery(sql);
query.setParameter(0, u.getUsername());
query.setParameter(1, u.getPassword());
List list = query.list();
tx.commit();
if(list.size()>0)
{
return true;
}
else
{
return false;
}
}
catch(Exception ex)
{
ex.printStackTrace();
return false;
}
finally
{
if(tx!=null)
{
//tx.commit();
tx = null;
}
}
}
用SQL 可以
请问最后怎么解决的,我用的是hibername5.1
把包名写完整,然后根据提示导入几个common包就搞定啦
不要使用hibernate5.0 使用4.2 或者4.3的版本 如果还错,就是配置的问题
把Users改为entity.Users 可以解决maped问题 但是还有新的问题
使用Struts2+Hibernate开发学生信息管理功能
80700 学习 · 754 问题
相似问题