s2sh框架整合,hibernate无法执行删除问题

dao层的代码
public void deleteDepartment(Serializable id,String delMode) {
Department department=this.getDepartmentById(id);
//通过页面出来的参书id,获得 这个对象
if("del_pre_relation".equals(delMode)){
Set users = department.getUsers();
for(User user:users){
user.setDepartment(null);
}
}
this.getHibernateTemplate().delete(department);
}
action层的代码
public String deleteDepartment(){
this.departmentService.deleteDepartment(this.getModel().getDid(), "del");
return "action2action";
}

SessionFactory   的配置方式
<bean id="sessionFactory"   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="configLocation">
            <value>classpath:hibernate/hibernate.cfg.xml</value>
        </property>
    </bean>
    <bean id="transactionManager"  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory">
            <ref bean="sessionFactory"></ref>
        </property>
    </bean>
    <tx:advice id="tx"  transaction-manager="transactionManager">
     <tx:attributes>
        <tx:method name="save*"  read-only="false"/>
        <tx:method name="delete"  read-only="false" />
        <tx:method name="update*"  read-only="false"/>
        <tx:method name="get*"  read-only="true"/>
     </tx:attributes>
    </tx:advice>
    <aop:config>
        <aop:pointcut expression="execution(* cn.service.impl.*.*(..))"  id="perform"/>
        <aop:advisor advice-ref="tx"  pointcut-ref="perform"/>
    </aop:config>

hibernate.cfg.xml

jdbc:mysql://localhost:3306/test
com.mysql.jdbc.Driver
root
1111
50
<!-- 配置C3p0连接池 -->
<!-- 启用c3p0连接池 设置连接池提供的供应商 -->
org.hibernate.connection.C3P0ConnectionProvider
<!-- 最大连接数 -->
20
<!-- 最小连接数 -->
5
<!-- 每次请求连接的数目 -->
5
<!-- 设置过期时间,以秒为单位,如果连接池中 -处于空闲状态的连接超过了这个时间,该连接就会从连接池中删除-->
120
<!-- 每个3000秒检查连接池中的空闲连接 -->
3000

<!-- 设置隔离级别  1 2 4  8-->
<property name="connection.isolation">2</property>

<!-- 配置session的线程本地化 threadLocal -->
<property name="current_session_context_class">thread</property>

<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.show_sql">true</property>

<mapping resource="cn/domain/hibernate-user.xml"/>          
<mapping resource="cn/domain/hibernate-department.xml"/>            
<mapping resource="cn/domain/hibernate-post.xml"/>          


可是就是执行不了,debug了Dao层的delete方法,也都是执行了的,求教大神是怎么回事

1个回答

你这里的delete后边少了“*”号

     <tx:attributes>
                    <tx:method name="save*"  read-only="false"/>
                    <tx:method name="delete"  read-only="false" />
                    <tx:method name="update*"  read-only="false"/>
                    <tx:method name="get*"  read-only="true"/>
            </tx:attributes>
Bush_nanjing
xiaoke_code 厉害厉害,眼里十足呀!!!!佩服佩服
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问