こんにちは、Java Hibernate に問題があります。「Barang」というエンティティがあり、新しい Barang を作成または更新する機能があります。うまくいくこともありますが、何度もやってみると、機能がうまくいきません。
create と merge のコードは次のとおりです。
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
これが私の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>