Java – How to fix the Hibernate “object references an unsaved transient instance – save the transient instance before flushing” error

entityhibernatejavajpaorm

I receive following error when I save the object using Hibernate

object references an unsaved transient instance - save the transient instance before flushing

Best Answer

You should include cascade="all" (if using xml) or cascade=CascadeType.ALL (if using annotations) on your collection mapping.

This happens because you have a collection in your entity, and that collection has one or more items which are not present in the database. By specifying the above options you tell hibernate to save them to the database when saving their parent.

Related Topic