Cafebabee
Cafebabee

Reputation: 1

inserting data into database table via hibernate mapping fails

I am using Hibernate to insert a row into a database, I am using Visual Paradigm (Enterprise Edition) to generate database tables.

Here are the errors

org.orm.PersistentException: org.hibernate.PropertyValueException: not-null property references a null or transient value: com.patientmanagement.model.Patient.visitRecord at org.orm.PersistentSession.saveOrUpdate(PersistentSession.java:631) at org.orm.PersistentManager.saveObject(PersistentManager.java:287) at com.patientmanagement.model.PatientDAO.save(PatientDAO.java:303) at com.test.InsertData.main(InsertData.java:28) Caused by: org.hibernate.PropertyValueException: not-null property references a null or transient value: com.patientmanagement.model.Patient.visitRecord at org.hibernate.engine.Nullability.checkNullability(Nullability.java:100) at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:312) at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:687) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:679) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:675) at org.orm.PersistentSession.saveOrUpdate(PersistentSession.java:629) ... 3 more

And here is the Insert function to test

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();
        }
    }
}

Upvotes: 0

Views: 1469

Answers (2)

newbie
newbie

Reputation: 1

This message means that you cannot create a Patient entity with an empty property. The empty property in this case is the visitRecord property within the Patient entity. You can assign a value to this property using something like

patient.setVisitRecord(some values);

I hope this solves your problem.

Upvotes: 0

you might have defined the column visitRecord as NOT NULL on your database and now you are trying to insert a null value on that column, or your mapping is not correct, can you show your mapping and your table definition?

Upvotes: 1

Related Questions