Throw PropertyValueException if there are unresolved entity insert actions after
persist/save/merge listeners execute
---------------------------------------------------------------------------------------------------------------------
Key: HHH-6957
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-6957
Project: Hibernate Core
Issue Type: Improvement
Components: core
Reporter: Gail Badner
Assignee: Gail Badner
Fix For: 4.1.0
The current behavior (before this proposed change) is kind of complicated when an entity
has a non-nullable, transient reference that is not resolved by cascading.
When CHECK_NULLABILITY is true:
- persist/save/merge event listeners will throw PropertyValueException;
When CHECK_NULLABILITY is false:
- if the entity insert action is executed before the session is flushed (i.e., an
"early" insert to generate an identity ID), then JDBCException is thrown;
- otherwise, TransientObjectException is thrown when the owning entity is dirty-checked.
The proposed change would make the behavior consistent for all of these cases. If there
are any "unresolved" non-nullable, transient entities after the top-level
persist/save/merge event executes, then TransientObjectException would be thrown,
regardless of the CHECK_NULLABILITY setting.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira