We're updating the issue view to help you get more done. 

In a Transaction, Delete on unindexed entities referenced by indexed entities with ContainedIn throw LazyInitializationException

Description

Delete on unindexed entities referenced by indexed entities with ContainedIn annotation failed.

On PostCommit Transaction, I get a LazyInitializationException on the collection with the ContainedIn annotation.

I upload a test case to reproduce this, run the Boot class.

1/ Entity2 is not lacking @DocumentId, I read the doc again and again (my english is very poor, but ...) : "In fact since the 3.1.0 release of Hibernate Search @DocumentId is optional in the case where an @Id annotation exists."
2/ Entity2 is not lacking @IndexedEmbedded, see the "entity1" association.
3/ From Hibernate Entity Manager Doc : "In an EXTENDED persistence context, all read only operations of the entity manager can be executed outside a transaction (find(), getReference(), refresh(), and read queries). Some modifications operations can be executed outside a transaction, but they are queued until the persistence context join a transaction. This is the case of persist(), merge(), remove(). Some operations cannot be called outside a transaction: flush(), lock(), and update/delete queries.". This is the case of the attached test. I attach a second testcase with all the operation in a transaction, the result is the same.
4/ I check 3.1.1-GA, the problem occurs alway.
5/ All the operation are in a transaction.

Please read and run my testcase and if I missuse hibernate say me where.

I can't reopen the bug HSEARCH-342, I open a new bug because the resolution of the bug don't resolve this problem.

Thank you.

Environment

Hibernate 3.3.1.GA, PostgreSQL 8.3

Status

Assignee

Emmanuel Bernard

Reporter

Grégoire Rolland

Fix versions

Affects versions

3.1.0.GA
3.1.1.GA

Priority

Critical