hibernate使用上 出现错误 请教如何解决???

来源:百度知道 编辑:UC知道 时间:2024/06/04 10:28:48
对答案 很满意的话 追加分数。。。

public void addData1(LogonForm fom){
SessionFactory sf = new Configuration().configure().buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
session.save(fom);
tx.commit();
session.close();
}

public void addData2(LogonForm fom){
log.debug("saving Emp instance");
try {
Transaction ts=HibernateSessionFactory.getSession().beginTransaction();
HibernateSessionFactory.getSession().save(fom);
log.debug("save successful");
ts.commit();
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}

使用方法 addData1 的时候
exception :

javax.servlet.ServletException: Could not find datasource
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
org.apache.struts.action.

其实第一个和第二个写法都一样,找不到datesource,而第二个由于是你直接使用了封装好的sessionFactory所以catch不到底层的exception,你的datasorce这样写的话,那应该是jndi声明的,我觉的你应该检查下jndi的路径设置有没有错应该我觉得<property name="jndi.url">jdbc:mysql://10.10.40.178:3306/test</property>
<property name="connection.datasource">java:comp/env/jdbc/StrustPro01</property> 这两行找看看,估计是其中一个写错了

是不是你的form传值有问题?

你的datasource 配置有问题,驱动程序都没有加载,而且connection.datasource为什么要用中间有点的!