We encountered a delete request on a transient instance.

This is a deviation from historical Hibernate (pre-3.2) behavior to align with the JPA spec, which states that transient entities can be passed to remove operation in which case cascades still need to be performed.

Namespace: NHibernate.Event.Default
Assembly: NHibernate (in NHibernate.dll) Version: 3.2.0.4000 (3.2.0.4000)

Syntax

C#
protected virtual void DeleteTransientEntity(
	IEventSource session,
	Object entity,
	bool cascadeDeleteEnabled,
	IEntityPersister persister,
	ISet transientEntities
)
Visual Basic
Protected Overridable Sub DeleteTransientEntity ( _
	session As IEventSource, _
	entity As Object, _
	cascadeDeleteEnabled As Boolean, _
	persister As IEntityPersister, _
	transientEntities As ISet _
)
Visual C++
protected:
virtual void DeleteTransientEntity(
	IEventSource^ session, 
	Object^ entity, 
	bool cascadeDeleteEnabled, 
	IEntityPersister^ persister, 
	ISet^ transientEntities
)

Parameters

session
Type: NHibernate.Event..::..IEventSource
The session which is the source of the event
entity
Type: System..::..Object
The entity being delete processed
cascadeDeleteEnabled
Type: System..::..Boolean
Is cascading of deletes enabled
persister
Type: NHibernate.Persister.Entity..::..IEntityPersister
The entity persister
transientEntities
Type: Iesi.Collections..::..ISet
A cache of already visited transient entities (to avoid infinite recursion).

See Also