[
http://opensource.atlassian.com/projects/hibernate/browse/EJB-409?page=co...
]
Anthony Patricio commented on EJB-409:
--------------------------------------
Markus,
"we do not call persist on X, but update"
we all (you, hardy, and me) know one should stick with using JPA APIs and, in this case,
em.merge.
About falling back to hibernate session and use of session.update, this is a hack you are
using to avoid an extra select caused by an unrecommended default lazy configuration.
EAGER fetched collection + Cascade.PERSIST generates broken behavior
on session.update
--------------------------------------------------------------------------------------
Key: EJB-409
URL:
http://opensource.atlassian.com/projects/hibernate/browse/EJB-409
Project: Hibernate Entity Manager
Issue Type: Bug
Affects Versions: 3.2.1
Reporter: Anthony Patricio
Attachments: HBCoreTestCase.zip, HEMTestCase.zip
I didn't really know where to log this extremely weird bug.
Customer 1--* Contact
Bidirectional.
Collection annotated with
@OneToMany(fetch=FetchType.EAGER, mappedBy="customer")
@Cascade({CascadeType.PERSIST})
Step 1: load a Customer (contacts are transparently retrieved) and detach the graph.
Step 2: re attach using session.update
--> session tries to insert into CONTACT table
Weird things:
- works with @OneToMany(fetch=FetchType.LAZY, mappedBy="customer")
- works if CascadeType.PERSIST is removed
- works with 100% plain hibernate (mapping files + session APIs (via session Factory, see
test based on hb core template)
- fails with 50% plain hibernate (mapping files + EM APIs to obtain HB session)
- I also tried to use HEM + hb plain mapping files --> this is failing, that's why
I raised the issue in HEM project.
I'm attaching 2 testcases: one using HEM test template (failing test) and one using
HB Core template (passing test).
This use case is not so exotic and the problem may hide something more critical.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira