package test;import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.dao.ChanpinxinxiDao;
import com.dao.KehuxinxiDao;
import com.dao.ProducttypeDao;
import com.dao.TypeDao;
import com.entity.Chanpinxinxi;
import com.entity.Kehuxinxi;
import com.entity.Producttype;
import com.entity.Type;public class Testdao {
// private static UserDao userDao;
// private static MyFlowDao myflowdao;
// private static TemplateDao templateDao;
private static KehuxinxiDao khxxdao;
private static ProducttypeDao protypedao;
private static TypeDao typedao;
private static ChanpinxinxiDao chanpinxinxidao; @BeforeClass
public static void setUpBeforeClass()throws Exception {
try{
ApplicationContext act=new ClassPathXmlApplicationContext("beans.xml");
chanpinxinxidao=(ChanpinxinxiDao) act.getBean("chanpinxinxiDaoImpl");
khxxdao=(KehuxinxiDao) act.getBean("kehuxinxiDaoImpl");
protypedao=(ProducttypeDao) act.getBean("producttypeDaoImpl");
typedao=(TypeDao) act.getBean("typeDaoImpl");
 System.out.println("加载成功!");
}catch(RuntimeException e){
e.printStackTrace();
} } @Test
public void test7(){
Type type=new Type();
Producttype protype=new Producttype();
Kehuxinxi khxx=new Kehuxinxi();
Chanpinxinxi cpxx=new Chanpinxinxi();
try {
type=typedao.findById(1);
protype=protypedao.findById(2);
khxx=khxxdao.findById(1);
//cpxx=chanpinxinxidao.findById(13);
cpxx.setGuige("套");
cpxx.setChanpinmingcheng("万能机");
cpxx.setChanpinmobanbianhao(0);
cpxx.setDingdanbianhao(0);
cpxx.setJiage(10000.0);
cpxx.setKehuxinxi(khxx);
cpxx.setType(type);
cpxx.setProducttype(protype);
chanpinxinxidao.savaCPXX(cpxx);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这个是测试类的代码,运行时正常的,但是在action中就无法插入了?

解决方案 »

  1.   

     早前遇到过 xxxx 详细信息
      

  2.   

    factory.getCurrentSession().saveOrUpdate(cpxx); 这句话错了。我只想说,你的代码根本没有把SSH整合好,SSH整合好的代码例子:http://blog.csdn.net/cai5/article/details/6565523。factory.getCurrentSession()用法:http://liusu.iteye.com/blog/380397。
      

  3.   

    和你问题差不多的帖子:http://bbs.csdn.net/topics/390654972?page=1#post-396204410
      

  4.   

    亲,是不一样的,我在junit测试的时候都是可以的,就是放到action中就出问题了,在action不能插入和更新
      

  5.   

    是的持久化没问题,通过junit的@test测试了dao方法也没问题,就是放到action中调用就不能执行添加和更新操作了
      

  6.   

     楼主方便打断点吗,debug调试下,看具体哪一步出问题了
      

  7.   

    是的持久化没问题,通过junit的@test测试了dao方法也没问题,就是放到action中调用就不能执行添加和更新操作了
    你是指test7这个测试方法运行后,可以插入的?但是放在Action中就不行了?
      

  8.   

    是的持久化没问题,通过junit的@test测试了dao方法也没问题,就是放到action中调用就不能执行添加和更新操作了
    你是指test7这个测试方法运行后,可以插入的?但是放在Action中就不行了?
    factory.getCurrentSession().saveOrUpdate(cpxx); 这个factory的值是从哪里来的?配置文件?注解?
      

  9.   

    你最好用hibernateTemplate这个模板来实现你的操作。
      

  10.   

    是的持久化没问题,通过junit的@test测试了dao方法也没问题,就是放到action中调用就不能执行添加和更新操作了
    你是指test7这个测试方法运行后,可以插入的?但是放在Action中就不行了?
    factory.getCurrentSession().saveOrUpdate(cpxx); 这个factory的值是从哪里来的?配置文件?注解?
    是的我在spring加上了事物的配置,启用了注解
      

  11.   

    dao方法执行到返回值得时候就跳到defaultinvoke.class,然后就是无法回到程序中了
      

  12.   

    是的持久化没问题,通过junit的@test测试了dao方法也没问题,就是放到action中调用就不能执行添加和更新操作了
    你是指test7这个测试方法运行后,可以插入的?但是放在Action中就不行了?
    factory.getCurrentSession().saveOrUpdate(cpxx); 这个factory的值是从哪里来的?配置文件?注解?
    是的我在spring加上了事物的配置,启用了注解
    但是你的注解好像是错的, @Resource SessionFactory factory; factory应该改为sessionFactory,和配置文件里对应起来。
      

  13.   

    是的持久化没问题,通过junit的@test测试了dao方法也没问题,就是放到action中调用就不能执行添加和更新操作了
    你是指test7这个测试方法运行后,可以插入的?但是放在Action中就不行了?
    factory.getCurrentSession().saveOrUpdate(cpxx); 这个factory的值是从哪里来的?配置文件?注解?
    是的我在spring加上了事物的配置,启用了注解
    但是你的注解好像是错的, @Resource SessionFactory factory; factory应该改为sessionFactory,和配置文件里对应起来。
    如果真是factory的问题,那为什么查询语句可以?
      

  14.   

    是的持久化没问题,通过junit的@test测试了dao方法也没问题,就是放到action中调用就不能执行添加和更新操作了
    你是指test7这个测试方法运行后,可以插入的?但是放在Action中就不行了?
    factory.getCurrentSession().saveOrUpdate(cpxx); 这个factory的值是从哪里来的?配置文件?注解?
    是的我在spring加上了事物的配置,启用了注解
    但是你的注解好像是错的, @Resource SessionFactory factory; factory应该改为sessionFactory,和配置文件里对应起来。
    如果真是factory的问题,那为什么查询语句可以?
    你查询语句的代码又没贴。所以我说好像,还不是很确定。
      

  15.   

    他这spring完全不起作用呢?很多对象都自己new出来的不是配置文件中已经注入好了吗。。怎么又去new呢?
      

  16.   

    以上没有正确答案,问题我自己解决了,是hibernate-validator.jar这个包的版本太低与hibernate3.jar没有hibernate-validator.jar包所调用的一个方法,所以导致程序无法执行,谢谢各位热心帮忙。