2012-04-06 3 views
0

私はHibernateを使用してデータベースに行を挿入していますが、Visual Paradigm(Enterprise Edition)を使用してデータベーステーブルを生成しています。 org.hibernate.PropertyValueException: で com.patientmanagement.model.Patient.visitRecord: -nullでないプロパティがnullまたは一時値を参照する。ここhibernateマッピングを使用してデータベーステーブルにデータを挿入できない

はエラー

org.orm.PersistentExceptionですorg.orm.PersistentSession.saveOrUpdate(PersistentSession.java:631)at org.orm.PersistentManager.saveObject(PersistentManager.java:287) com.patientmanagement.model.PatientDAO.save(PatientDAO.java:303)at com.test.InsertData.main(InsertData.java:28)原因: org.hibernate.Prope rtyValueException: org.hibernate.eventで org.hibernate.engine.Nullability.checkNullability(Nullability.java:100) で com.patientmanagement.model.Patient.visitRecord:-nullでないプロパティが nullまたは過渡値を参照します org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedIdで.def.AbstractSaveEventListener.performSaveOrReplicate org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)で(AbstractSaveEventListener.java:312) (AbstractSaveEventListener .java:129) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener。 Javaの:210) org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117) で org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195) で で組織org.hibernate.impl.SessionImpl.saveOrUpdateで で.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:687) (SessionImpl。 java:679) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:675) at org.orm.PersistentSession.saveOrUpdate(PersistentSession .javaファイル:629) ... 3もっと

そしてここで挿入機能は、このメッセージは、あなたが空のプロパティを持つ患者のエンティティを作成することができないことを意味し

public class InsertData { 
    public static void main(String[]args) throws PersistentException 
    { 
     PersistentTransaction trans=PatientmanagementPersistentManager.instance().getSession().beginTransaction(); 
     try 
     { 
      //create patient instance 
      Patient patient=PatientDAO.createPatient(); 

      //set patients properties 
      patient.setName("Markus Rosevelt"); 
      patient.setRegisterDate(new Date()); 

      //save patient 
      PatientDAO.save(patient); 
      trans.commit(); 
     }catch(Exception e){ 
      trans.rollback(); 
     } 
    } 
} 
+0

マッピングを提供してください – kommradHomer

答えて

1

データベースで列visitRecordをNOT NULLとして定義し、その列にnull値を挿入しようとしているか、マッピングが正しくない場合、マッピングとテーブル定義を表示できますか?

0

をテストすることです。この場合の空のプロパティは、Patientエンティティ内のvisitRecordプロパティです。

patient.setVisitRecord(some values); 

私はこれがあなたの問題を解決することを願ってこのプロパティに値を割り当てることができます。

関連する問題