session的传值问题

hc1515014471 2014-09-28 03:50:10
public Users hasUser(String username, String password) {
Session session = hsf.getSession();
try {
String sql = "from Users as u where u.username=? and u.password=?";
// String sql = "from Users";
Query query = session.createQuery(sql);
query.setString(0, username);
query.setString(1, password);
List list = query.list();
if (list != null && list.size() != 0) {
Iterator itor = list.iterator();
Users user = (Users) itor.next();
return user;
} else {
return null;
}
} catch (Exception e) {
System.out.println("UserDaoImpl.hasUser() 方法发生异常:");
e.printStackTrace();
return null;
} finally {
hsf.closeSession();
}
}


public class HibernateSessionFactory{

private static SessionFactory sessionFactory;
public static final ThreadLocal<Session> session = new ThreadLocal<Session>();

static{
try{
sessionFactory = new Configuration().configure().buildSessionFactory();
}catch(Exception ex){
ex.printStackTrace();
}
}

public HibernateSessionFactory() {
}

/*
* 获得当前session
*/
public static Session getSession() throws HibernateException{
Session s = (Session)session.get();
if(s == null || !s.isOpen()){
s = sessionFactory.openSession();
session.set(s);
}
return s;
}

/*
* 回滚
*/
public static void rollback(Transaction tx){
try{
if(tx != null){
tx.rollback();
}
}catch(HibernateException e){
System.out.println("rollback faild." + e);
}
}

/*
* 关闭session
*/
public static void closeSession() throws HibernateException{
Session s = session.get();
session.set(null);
if(s != null){
s.close();
}
}
}
在Session session = hsf.getSession();中获得的session为空值,导致执行Query query = session.createQuery(sql);这句话报出异常。
请问这是为什么?我应该如何修改?
...全文
213 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
放纵的青春 2014-09-29
  • 打赏
  • 举报
回复
hsf 这是在哪初始化的?
  • 打赏
  • 举报
回复
HibernateSessionFactory类写的有问题。。
Harder-狄戈 2014-09-29
  • 打赏
  • 举报
回复
getSession()方法错了啊 Session s = (Session)session.get();你看看你的代码,怎么是session GET session,,自己get自己??? Session session = threadlocal.get();是这样的啊!!!!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧