java保存、合并有时不提交?为什么?
你好,我对Java Hibernate有问题, 我有一个名为“Barang”的实体,我有一个创建新Barang或更新它的函数。 有时它工作得很好,但当我一次又一次地尝试时,该功能不起作用
以下是我创建和合并的代码:
static SessionFactory session = NewHibernateUtil.getSessionFactory();
public Session opennSession(){
return session.openSession();
}
public void addBarang(Barang b) {
Session sess = this.opennSession();
org.hibernate.Transaction t = sess.beginTransaction();
sess.save(b);
t.commit();
}
public void updateBarang(Barang b) {
Session sess = this.opennSession();
org.hibernate.Transaction t = sess.beginTransaction();
sess.merge(b);
t.commit();
}
更让人困惑的是,我有另一个实体,它可以很好地使用保存或合并功能。我已经比较过很多次了,我确信代码很好
请帮我修一下。 提前Thx
如果你需要我使用的一些代码,我可以在这里发布。 所以如果你需要它,请告诉我D
这是我的冬眠。cfg
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/rumah</property>
<property name="hibernate.connection.username">admin</property>
<property name="hibernate.connection.password">admin</property>
<mapping class="entity.Pelanggan"/>
<mapping class="entity.Penjualan"/>
<mapping class="entity.PenjualanBarang"/>
<mapping class="entity.PenjualanBarangPK"/>
<mapping class="entity.Barang"/>
</session-factory>
</hibernate-configuration>
# 1 楼答案
我不确定是否有任何理由在事务内部进行合并,因为没有其他事情发生,所以实际上它是一个单操作事务
我建议您尝试刷新会话,看看是否有帮助: