您好,我在使用 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();
}
更令人困惑的是,我有另一个实体可以很好地使用保存或合并功能。我已经比较了很多次,我确信代码是好的。
请帮我解决这个问题。提前谢谢
如果你需要一些我正在使用的代码,我可以在这里发布。所以请告诉我你是否需要它。:D
这是我的hibernate.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>