私の追加したコードは、オブジェクトを追加するたびに新しいテーブルが追加されました(レポート)を追加しました。私は、問題を見つけることができないよう、私はちょうどこのエラーを取得する:ステートメントを実行できませんでした
Could not execute statement when using .save(object)
Report.hbm.xml
<hibernate-mapping>
<class name="com.atp.Models.Report" table="report">
<meta attribute="class-description">
This class contains the report details.
</meta>
<id name="environmentName" type="string" column="environmentName">
<generator class="native"/>
</id>
<property name="individual" column="Individual" type="int"/>
<property name="corporation" column="Corporation" type="int"/>
<property name="dda" column="DDA" type="int"/>
<property name="sav" column="SAV" type="int"/>
<property name="mtg" column="MTG" type="int"/>
<property name="sepaOut" column="SEPAOUT" type="int"/>
<property name="sepaIn" column="SEPAIN" type="int"/>
<property name="atm" column="ATM" type="int"/>
</class>
MySQLのテーブル
Javaデータベースに追加(すべてのフィールドが正しく表示されます)
私はあなたが設定した場合 ことを削除しようと...何とか問題を引き起こしている(あなたが実際に設定して自動生成されていないことを)varchar型のPKでのXML設定することを推測することができ、完全なスタックトレースなし//Create new object
Report report = new Report();
report.setEnvironmentName(environmentName);
report.setIndividual(individual);
report.setCorporation(corporation);
report.setDda(dda);
report.setSav(sav);
report.setMtg(mtg);
report.setSepaIn(sepaIn);
report.setSepaOut(sepaOut);
report.setAtm(atm);
ManageCreation.AddToDatabase(report);
public static void AddToDatabase(Object object) {
SessionFactory factory = HibernateUtil.GetSessionFactory();
Session session = factory.openSession();
Transaction tx = null;
try{
tx = session.beginTransaction();
session.save(object);
tx.commit();
}catch (HibernateException e) {
if (tx!=null) tx.rollback();
e.printStackTrace();
}finally {
session.close();
}
}
例外の完全なスタックトレースは、ここでいくつか使用することができます。また、例外が発生する正確な行(.save()または.commit()?) – Marvin
VARCHAR(45)の主キーがスキンクロールを行っています – Zeromus
@Zeromus私は初心者です。助けてください。 –