この休止状態の問題で私を助けてください。私は休止状態に慣れていて、それでも私の頭を抱えようとしています。私はこの問題を解決することができません。私はかなり簡単な何かを見逃していると思います。初心者のHibernateの問題 - 単純ではない例外を使った簡単なマッピング!
私の要件はほとんど同じであるため、私は、多対1のマッピングを実現するために、ここでの例を踏襲してきました:http://www.coderanch.com/t/217519/ORM/java/Hibernate-Newbie-Many-Relation-Tutorial
(私はPictureオブジェクトを永続化しようとすると、ユーザー変数であることに注意してくださいその時点で)空であり、他のすべての可変バー画像と同様である。
また、私は、hibernateを設定して、hibernate設定ファイルのconfigを介してデータベーススキーマを生成するように設定していることにも注意してください。
ここに私のマッピングファイル(宣言は削除)
は
User.hbm.xml<class name="msc.model.User" table="USER">
<id name="id" column="USER_ID">
<generator class="native"/>
</id>
<property name="username"/>
<property name="email"/>
<bag name="pictures"
table="PICTURE"
lazy="true"
cascade="save-update">
<key column="PICTURE_ID"/>
<one-to-many class="msc.model.Picture" />
</bag>
</class>
とPicture.hbm.xmlです0
<class name="msc.model.Picture" table="PICTURE">
<id name="id" column="PICTURE_ID">
<generator class="native"/>
</id>
<property name="story"/>
<property name="tattooist"/>
<property name="pic"/>
<many-to-one name="user"
class="msc.model.User"
column="USER" />
<property name="image" type="blob">
<column name="IMAGE" not-null="true" />
</property>
</class>
クラスファイル(剥離ゲッターとセッター)
Picture.java
package msc.model;
import java.io.File;
import java.sql.Blob;
public class Picture {
private Long id = null;
private User user = null;
private File pic = null;
private String story = null;
private String tattooist = null;
private Blob image = null;
}
User.java
package msc.model;
import java.util.ArrayList;
import java.util.List;
public class User {
private Long id = null;
private String username = null;
private String email = null;
private List<Picture> pictures = null;
}
永続コードが(BFILEがあることに注意しますファイルから作成されたバイトストリーム):
ここでSession hib_ses = HibernateUtil.getSessionFactory().getCurrentSession();
hib_ses.beginTransaction();
Picture picture = new Picture();
picture.setImage(Hibernate.createBlob(bFile));
Long id = (Long) hib_ses.save(picture);
hib_ses.getTransaction().commit();
例外です:
Cannot add or update a child row: a foreign key constraint fails (`msc`.`picture`, CONSTRAINT `FK85BE8DE2885129D` FOREIGN KEY (`PICTURE_ID`) REFERENCES `user` (`USER_ID`))
助けてください!
問題は、まだユーザーを保存したくないということです。アプリの要件により、まだユーザーデータがありません。私はこのようにして何か間違っているのですか? –
私はマッピングが、ユーザーがPictureの中に必要とされていると言っていると思います。私はあなたのためのドキュメントのリンクを見つけようとします。 – Rachel