Hi all,
I just began to learn Hibernate. Now I have a problem on update. My update code:
Code:
            Query query = null;
            for (Schedule schedule : schedules) {
               query = session.createQuery(
                  "update Schedule set startTime = :startTime," +
                  "endTime = :endTime, lastUpdatedBy =:updatedBy," +
                  "lastUpdatedOn = :updatedOn where id = :id")
                  .setTimestamp("startTime", schedule.getStartTime())
                  .setTimestamp("endTime", schedule.getEndTime())
                  .setParameter("updatedBy", schedule.getLastUpdatedBy())
                  .setTimestamp("updatedOn", schedule.getLastUpdatedOn())
                  .setParameter("id", schedule.getId());
               query.executeUpdate();
            }
When I run the update code, I always got the following exception, which asked me to set other fields in the Schedule. What I want is just to update partial fields. Should I set all not-null field in the schedule when I update the record. Thank you very much in advance.
Code:
15:06:03,688 INFO  [STDOUT] Hibernate: update CORA.SCHEDULE set START_TIME=?, END_TIME=?, LAST_UPDATED_BY=?, LAST_UPDATED_ON=? where ID=?
15:06:03,844 INFO  [STDOUT] Hibernate: update CORA.SCHEDULE set START_TIME=?, END_TIME=?, LAST_UPDATED_BY=?, LAST_UPDATED_ON=? where ID=?
15:06:03,860 INFO  [STDOUT] Hibernate: select CORA.SQ_SCHEDULE_ID.nextval from dual
15:06:03,875 ERROR [STDERR] org.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value: com.covance.cora.business.bo.Schedule.studyGroup; nested ex
ception is org.hibernate.PropertyValueException: not-null property references a null or transient value: com.covance.cora.business.bo.Schedule.studyGroup
15:06:03,875 ERROR [STDERR] Caused by:
15:06:03,891 ERROR [STDERR] org.hibernate.PropertyValueException: not-null property references a null or transient value: com.covance.cora.business.bo.Schedule.studyGroup
        at org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
        at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:284)
        at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:180)
        at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
        at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
        at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)