本帖最后由 zanyo 于 2010-06-10 23:07:25 编辑

解决方案 »

  1.   

    *************** 再贴一下DealsBrokerMemberDaoImpl类啊~~ **************
    @Repository
    @Transactional
    public class DealsBrokerMemberDaoImpl implements DealsBrokerMemberDao {
    private SessionFactory sessionFactory; @Autowired
    public DealsBrokerMemberDaoImpl(SessionFactory sessionFactory)
    {
    this.sessionFactory=sessionFactory;
    System.out.println("is the transactional reached ?");
    System.out.println(sessionFactory);
    } @Transactional
    public DealsBrokerMember getDeal(String date) throws ParseException {
    // TODO Auto-generated method stub
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    java.util.Date searchdate= sdf.parse(date);
    //return (DealsBrokerMember) sessionFactory.openSession().get(DealsBrokerMember.class, searchdate);
    System.out.println("in getDeal :" + sessionFactory);
    return (DealsBrokerMember) sessionFactory.getCurrentSession().get(DealsBrokerMember.class, searchdate);
    }

    @Transactional
    public List getDeals() {
    // TODO Auto-generated method stub
    return sessionFactory.getCurrentSession().createQuery("from DealsBrokerMember dbm").list();
    }

    @Transactional
    public void addUser(DealsBrokerMember dbm) {
    sessionFactory.getCurrentSession().save(dbm);
    }
    }
    ******************  还有那个main()  ****************
    public static void main(String[] args) throws ParseException {
    // TODO Auto-generated method stub
        ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath*:META-INF/spring/integration-data.xml");
        DealsBrokerMemberDao dbmd = (DealsBrokerMemberDao) ctx.getBean("repo.deals");
        DealsBrokerMember dbm = dbmd.getDeal("2009-01-31");
        System.out.println("the broker deal is : " + dbm.getDealsbroker());
    }求解答!!!!!!!!!!!!!!谢谢。
      

  2.   

    看样子,是你没有配置事务。--还是<!-- 
    配置文件编写步骤:
    1.先配置dataSource数据源
    2.把数据源注入到sessionFactory
    3.把sessionFactory注入到userDao(此时userDao就具备了sessionFactory的功能,就可以去访问数据库了)
    4.将Dao注入到Service
    5.编写控制层action
     -->
      

  3.   

    谢谢,可是我用@Transactional指定事务了呀~~~<tx:annotation-driven mode="aspectj" transaction-manager="txManager"/><bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="sessionFactory"/> 
    </bean> <bean id="repo.deals" class="com.reporting.dao.impl.DealsBrokerMemberDaoImpl" 
    autowire="constructor"> 
    </bean>然后在DealsBrokerMemberDaoImpl我加了@Transactional注解,这样算配置好事务了吗???
      

  4.   

    解决了,是aspectj包的问题,在xml里我用让aspectj来管理事务,但是没成功。我后来也不用aspectj了,直接提取Transactional注解的bean就ok了。aspectj后面再多研究研究~~~结贴。