浩哥大侠 2013-08-08 10:15 采纳率: 100%
浏览 3773
已采纳

我的hibernate和spring 整合时getHibernateTemplate().find出现空指针问题

Spring组件: class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 数据库连接参数信息 -->

方言,映射描述都没问题,
/context:component-scan

<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 定义通知 -->
<tx:advice id="txAdvice" transaction-manager="txManager">
    <!-- 指定目标组件中的哪些方法采用哪种事务管理方式 -->
    <tx:attributes>
        <tx:method name="find*" read-only="true"  propagation="REQUIRED"/>
        <tx:method name="get*" read-only="true"     propagation="REQUIRED"/>
        <tx:method name="save*" propagation="REQUIRED"/>
        <tx:method name="update*" propagation="REQUIRED"/>
        <tx:method name="delete*" propagation="REQUIRED"/>
    </tx:attributes>
</tx:advice>
<!-- AOP配置,将通知和切入结合(目标对象) -->
<aop:config>
    <!-- 将所有DAO作目标 -->
    <aop:pointcut expression="within(org.dao..*)" 
<bean id="txManager" 
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory">
    </property>
</bean>
<!-- 开启事务注解配置 -->
<tx:annotation-driven transaction-manager="txManager"/>
  • 写回答

4条回答 默认 最新

  • 浩哥大侠 2013-08-08 10:26
    关注

    三张表:




    UserInfo_SEQ







        <property name="grade" type="integer">
            <column name="GRADE"  />
        </property>
        <property name="Content" type="string">
            <column name="CONTENT"  />
        </property>
        <property name="createDate" type="date">
            <column name="CREATEDATE"  />
        </property>
        <property name="userId" type="integer"  update="false"
                          insert="false" >
            <column name="USERID"  />
        </property>
        <property name="flag" type="integer">
            <column name="FLAG"  />
        </property>
        <!-- 指定userInfo属性,采用many-to-one关系加载 -->
        <many-to-one name="userInfo" column="USERID"  lazy="false"
            class="org.entity.UserInfo">
        </many-to-one>
        <!-- 采用一(EventGrade)对多(Event)加载信息 -->
      <set name="event_Grades" >
            <key column="GRADE"></key>
            <one-to-many 
                class="org.entity.Event_Grade"/>
        </set>
    

    table="EVENT_GRADE">



    UserInfo_SEQ







    </class>
    





    UserInfo_SEQ







    </class>
    





    UserInfo_SEQ







        <property name="userName" type="string">
            <column name="USERNAME"  />
        </property>
         <!-- 采用一对多关系加载相关的Service记录 -->
      <set name="events" inverse="true" cascade="all">
            <!-- 指定关联条件字段,写外键字段 -->
            <key column="USERID"></key>
            <!-- 指定要采用的关系,要加载的数据类型 -->
            <one-to-many class="org.entity.Event"/>
      </set>
    </class>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记