hibernate的save不执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate的save不执行相关的知识,希望对你有一定的参考价值。

1使用HibernateTemplate()
2save时候不show_sql

3实体类和数据表对应上了
4查询可以使用
哪位大神帮忙分析一下啊

参考技术A 应该是事务问题 没有开启事务 查询 不需要用 事务
EntityTransaction tx = entityManager.getTransaction();
tx.begin();
save 操作
tx.commit()
参考技术B hibernatetemplate 要用到 sessionfactory

可能是因为没有用到 hibernatetransationmanage 导致没有初始化 sessionfactory

add transation where you use hibernatetemplate! good luck to you!
参考技术C 如果配置不是问题,那得看代码是如何的 参考技术D show_sql是false

Hibernate关联关系 Cascade级联

1、cascade定义的是关系两端对象到对象的级联关系;而inverse定义的是关系和对象的级联关系。

  all : 所有情况下均进行关联操作。 
  none:所有情况下均不进行关联操作。这是默认值。 
  save-update:在执行save/update/saveOrUpdate时进行关联操作。 
  delete:在执行delete时进行关联操作。

 

2、CascadeType

CascadeType.REFRESH:级联刷新,当多个用户同时作操作一个实体,为了用户取到的数据是实时的,在用实体中的数据之前就可以调用一下refresh()方法!

CascadeType.REMOVE:级联删除,当调用remove()方法删除Order实体时会先级联删除OrderItem的相关数据!

CascadeType.MERGE:级联更新,当调用了Merge()方法,如果Order中的数据改变了会相应的更新OrderItem中的数据,

CascadeType.ALL:包含以上所有级联属性。

  (注:以上几种级联操作,只能实在满足数据库的约束时才能生效,比如上边的Order和OrderItem存在主外键关联所以执行REMOVE()方法时是不能实现级联删除的)

CascadeType.PERSIST:级联保存,当调用了Persist() 方法,会级联保存相应的数据

以上是关于hibernate的save不执行的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate 注解序列生成主键执行完select seq_t_user.nextval后不执行insert等语句导致 执行save()或update()方法无效

Hibernate save()saveOrUpdate()merge()的区别

Hibernate级联操作

关于hibernate的saveOrUpdate方法的一个问题

Hibernate关联关系 Cascade级联

hibernate第三天