当前位置: 代码迷 >> Java Web开发 >> ssh不能向数据库插入数据 求解答解决办法
  详细解决方案

ssh不能向数据库插入数据 求解答解决办法

热度:181   发布时间:2016-04-17 10:42:01.0
ssh不能向数据库插入数据 求解答
我刚是所有自动生成的dao都没有接口时能向数据库插入数据 但事务会有错 后来把所有的dao都生成了接口 结果就不能向数据库插入了 一个错也没有 数据库也没有值

Hibernate: insert into xiang.dbo.mer_order (O_id, M_wid, M_num) values (?, ?, ?)

Hibernate: insert into xiang.dbo.order_info (U_id, S_id, P_id, Os_id, O_tolprice, O_uname, O_link_type, O_uaddress, O_xtime, O_stime, O_ftime) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

第一个插入的数据的主键是下面表的外键 要用事务是不 在配置文件里面怎么写 是不是在映射的实体类文件中 加

inverse="true" cascade="all"

  <set name="merOrders" inverse="true" cascade="all">
  <key>
  <column name="O_id" />
  </key>
  <one-to-many class="com.nf.dao.MerOrder" />
  </set>





------解决方案--------------------
提交了么?
------解决方案--------------------
spring 事物管理配置的有问题吧
------解决方案--------------------
<!-- 声明式事务控制 -->
<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="*" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="myServiceOperation" expression="execution(* com.gerz.myoffice.service.*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="myServiceOperation" />
</aop:config>


把事务交给spring 管理
------解决方案--------------------
Spring默认基于JDK动态代理,动态代理也就是在方法执行前后加入一些自己的逻辑在里面。而JDK的动态代理是基于接口实现的,也就是说,实现同一个接口,在代理类中调用目标类的相同的方法。method.invoke();然后在调用方法前加入自己的逻辑。 如果不想写那么多接口的话,可以加入cglib包。 在spring配置中<aop:aspectj-autoproxy proxy-target-class="true"/>
cglib字节码生成目标类的子类方式实现代理。所以不需要考虑接口问题。
两者的区别:
JDK动态代理只能对实现了接口的类生成代理,而不能针对类
CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法。因为是继承,所以该类或方法最好不要声明成final 

------解决方案--------------------
探讨

<!-- 配置Hibernate事务管理器 spring的OAP 根据配置处理-->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager"
p:sessionFactory-ref="sessi……

------解决方案--------------------
探讨

引用:

引用:

<!-- 配置Hibernate事务管理器 spring的OAP 根据配置处理-->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager"
p:……
  相关解决方案