SSH框架,我save一个对象,load的时候为什么是null的呢?新用户注册 1.save(User)2.将save后的User放到session里面 此时 userid=94333.取到session里面的user4.
load(User.class,9433) get(User.class,9433)find("from User where id=9433"); 都统统是null 这是为什么呢
load(User.class,9433) get(User.class,9433)find("from User where id=9433"); 都统统是null 这是为什么呢
解决方案 »
- 高分求Tomcat的配置解决方法
- java连接oracle异常
- 短信发送相关问题
- 关于使用JfreeChart绘图的问题
- Middlegen-Hibernate的问题。
- jsp页面如何打开Excel文件....加急电报!!!
- 关于压力测试的,请教:
- 最菜的问题:hibernate.cfg.xml中ms-sqlserver驱动设置的问题?
- Eclipse + sqlserver 连接问题
- 在JBuilderX与JBoss开发EJB过程中的一些问题需要请教,急啊。。。在线等待
- 一道笔试题。一个数组 a[99] ,里面有1-100中的99个不重复的整数,让你用最多一次循环找出没有的那个.
- 基础问题001
load(User.class,sql).setParameter(0,9433) 试试
spring 控制的事务,这条数据 数据库中添加进去了
* 务工人员注册信息(完善信息) 作者:金鑫2009-9-13下午07:44:02
*/
public ActionForward doRegisterWorker(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
ActionForward forward = null;
workerForm = (WorkerForm) form;
worker = workerForm.getWorker();
// 注册务工人员的时候 设置公共信息 (自己注册 以及客服帮助注册)
registerSetCommonInfo();
session = request.getSession();
Users users = (Users) session.getAttribute("USER");
worker.setUsers(users);
if (workerBiz.addWorker(worker)) {
System.out.println("yes");
users = userBiz.getUsers(users.getUserId());//这个地方返回的是null
/**
* 覆盖用户
*/
session.setAttribute("USER", users);
/**
* 覆盖用户信息
*/
session.setAttribute("USERINFO", worker);
forward = mapping.findForward("worker");
} else {
System.out.println("no");
}
return forward;
} /**
* 根据id获得用户 作者:金鑫2009-9-16上午11:06:46
*
* @param userId
* @return
*/
public Users getUsers(BigDecimal userId) {
return (Users) dao.load(Users.class, userId);
}
已经入库了 /**
* 用户注册
*/
public ActionForward doRegister(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
session = request.getSession();
if (isPassCode(request)) {
// 取到需要注册什么类型角色
userRoleId = Integer.parseInt(request.getParameter("userRoleId"));
userRole = userBiz.getUserRole(userRoleId);
if (null != userRole) {
userForm = (UserForm) form;
user = userForm.getUser();
security = new Security();
// 加密密码
user.setUserPassword(security.getEncString(user.getUserPassword()));
// 设置客户端请求的ip地址
user.setRegisterIp(request.getRemoteAddr());
user.setUserRole(userRole);
if (userBiz.addUser(user, request.getParameter("registerTypeId"))) {
session.setAttribute("USER", user);
switch (userRoleId) {
case 1:// 内部员工
actionForward = mapping.findForward("index");
break;
case 2:// 企业用户
session.setAttribute("USERNAME", user.getUserName());
actionForward = mapping.findForward("enterprise");
break;
case 3:// 务工人员
user = (Users) session.getAttribute("USER");
user = userBiz.getUsers(user.getUserId());//这个地方可以获得
actionForward = mapping.findForward("worker");
break;
}
} else {
System.out.println("注册失败");
}
}
} else {
System.out.println("验证码错误");
}
return actionForward;
}
还有5楼说的也有道理,看看事物配置
load(user,user.getId())试下
但是user中的id必须有值
代码为:
session.getTransaction().commit();