为什么我的ssh框架用get方法查询出来的数据出id外,其他的数据都是null

jieranjiajia jieranjiajia 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这是我的spring4集成hibernate5的配置


这是我的事物管理配置


这是baseDaoImpl类实现了baseDao接口

package com.skill.dao;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

@Repository("baseDao")
public class BaseDaoImpl implements BaseDao
{

private SessionFactory sessionFactory;

@Autowired
public void setSessionFactory(SessionFactory sessionFactory)
{
this.sessionFactory = sessionFactory;
}

public SessionFactory getSessionFactory()
{
return sessionFactory;
}

public Session getCurrentSession()
{
return getSessionFactory().getCurrentSession();
}

public <T> T getEntityBy(Class<T> T,Integer id)
{
return getCurrentSession().get(T, id);
}

userDaoImpl 继承了baseDaoImpl 实例userDao接口,userDao接口继承BaseDao接口
package com.skill.dao.userDao.impl;


import org.springframework.stereotype.Repository;

import com.skill.dao.BaseDaoImpl;
import com.skill.dao.userDao.UserDao;
import com.skill.model.User;

@Repository("userDao")
public class UserDaoImpl extends BaseDaoImpl implements UserDao
{
@Override
public User getUserBy(Integer id)
{
return super.getEntityBy(User.class, id);
}
}

userServiceImpl实现类调用userService
package com.skill.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.skill.dao.userDao.UserDao;
import com.skill.model.User;
import com.skill.service.UserService;

@Service("userService")
public class UserServiceImpl implements UserService
{
@Autowired
private UserDao userDao;
@Override
public User findUserBy(Integer id)
{
return userDao.getUserBy(id);
}
}

这个是写的测试方法
package com.skill.test;

import org.jboss.logging.Logger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.skill.model.User;
import com.skill.service.UserService;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:spring.xml"})
public class FunctionTest
{
private Logger logger = Logger.getLogger(FunctionTest.class);
@Autowired
UserService userService;
@Test
public void testJDBC()
{
User user = userService.findUserBy(2);
logger.info("查询结果是:id--->"+user.getId()+"\tname--->"+ user.getUserName());
}
}

然而实际的测试结果是这样的
INFO: 查询结果是:id--->2 name--->null

有ID却没有name,当我在事物中把readonly去掉时,hibernate会先差一遍接着马上就update了。
Hibernate:
select
user0_.ID as ID1_0_0_,
user0_.PASSWORD as PASSWORD2_0_0_,
user0_.USERNAME as USERNAME3_0_0_
from
USER_TB user0_
where
user0_.ID=?
Hibernate:
update
USER_TB
set
PASSWORD=?,
USERNAME=?
where
ID=?
在事物中加上readonly=true后
不会update,但是还是没有结果,哪位大哥帮帮我,看看是哪里的问题!
...全文

相关推荐

ssh 框架整合总结

ssh 框架 整合 总结 优点 缺点 以及ssh mvc 和三层架构的概述。

The_Well

基于SSH框架的百货中心供应链管理系统设计与实现详解

进销存管理是企业信息化的基础环节,百货中心供应链管理系统正是围绕采购、入库、销售、出库、库存与供应商结算这条核心链路展开的数字化解决方案。在JavaEE技术体系中,SSH框架(Struts2+Spring+Hibernate)作为经典轻量级组合,通过分层架构实现Web层、业务层与持久层的解耦,其中Hibernate负责对象关系映射与数据持久化,Spring统一管理事务与依赖注入,Struts2处理请求流转与页面跳转。这种结构清晰、职责分明的设计模式,既适合教学理解,也能支撑中小规模业务场景。本文从数据库设计

weixin_34342992

javaEE+SSH+MySQL百货供应链系统:从设计到部署全解析

在Java Web开发中,SSH框架(Struts2+Spring+Hibernate)是经典的技术组合,它清晰划分了请求控制、业务事务与数据持久化的职责。供应链管理系统作为企业信息化的重要场景,涉及采购、入库、销售、库存等复杂数据流转,恰好适合用来理解框架整合与数据库设计的核心原理。通过MySQL存储业务数据,Hibernate实现ORM映射,Spring管理事务,Struts2负责页面控制,能构建出结构分明、可维护的Web应用。本文基于一套javaEE+SSH+MySQL的百货中心供应链管理系统,从需求

weixin_34059951

SSH框架开发起步的最好例子.doc

SSH框架开发起步的最好例子 ssh java sql

a15611730159

SSH框架,详细版!

Spring 框架、Struts 框架、Hibernate 框架三大框架的工作原理及流程

qq_39473130
评论 6
收藏 已收藏
分享
返回顶部
jieranjiajia
Web 开发 81,108 成员 341,721 内容