hibernate与spring整合无法导出sessionFactory,请指教?

XSERAMA 2017-07-26 01:58:54
hibernate与spring整合,使用junit测试,但无法生成表格,后来追溯到session为null,检查了一下配置,没看出有什么问题,请高手指点一下,或者可指点一下有什么测试方法

applicationContext-public.xml配置c3p0
	 
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/shop" />
<property name="user" value="root" />
<property name="password" value="root" />
<property name="driverClass" value="com.mysql.jdbc.Driver" />
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml" />

<property name="dataSource" ref="dataSource" />
</bean>


hibernate.cfg.xml,hibernate配置

<session-factory>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>

<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="javax.persistence.validation.mode">none</property>
<mapping resource="cn/it/shop/model/Category.hbm.xml" />
</session-factory>


实体代码

public class Category {

private Integer id;
private String type;
private Boolean hot;

/**省略 Constructors和set,get */


Category.hbm.xml

<class name="cn.it.shop.model.Category" table="category" catalog="shop">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native" />
</id>
<property name="type" type="java.lang.String">
<column name="type" length="20" />
</property>
<property name="hot" type="java.lang.Boolean">
<column name="hot" />
</property>
</class>


实现代码

public class CategoryServiceImpl implements CategoryService {
private SessionFactory sessionFactory;
protected Session getSession(){
Session session =sessionFactory.getCurrentSession();
return session;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public void save(Category category) {
System.out.println(category);
System.out.println(sessionFactory);


使用junit测试实现save代码,发现category是有数值的,但sessionFactory为null,请问sessionFactory如何检测问题?
ps:编译测试程序没有报警
...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianfang 2017-07-26
  • 打赏
  • 举报
回复
测试代码怎么写的? 试试: SessionFactory sf = new Configuration().configure().buildSessionFactory(); Session session = sf.getCurrentSession();
strong_mz 2017-07-26
  • 打赏
  • 举报
回复
不是sessionfactory为空吧 应该是获取的session为空 因为你的session没有跟线程绑定 你是那个方法是直接从当前线程获取session的

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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