浩哥大侠 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 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失