Hi, I have got a question in regard to (bidirectional) ManyToMany relations. I 
have two classes (Job and Skill) that are linked by ManyToMany Association 
(Skill has the mappedBy attribute).  I executed the following code:


  | // insert new Skill (wrapped in transaction)
  | Skill hibernate = new Skill( "Hibernate" );
  | Skill struts = new Skill( "Struts" );
  | this.getEm().persist( hibernate );
  | this.getEm().persist( struts );
  | 
  | // insert new Job (separte transaction - skill already commited)
  | //--- fetch the already saved Skill
  | Skill hibernateSkill = ( Skill ) this.getEm().createQuery( "from Skill 
skill where skill.name= :name ")
  | .setParameter( "name", "Hibernate" )
  | .getSingleResult();
  |             
  | //insert new Job and link to skill (wrapped in transaction)
  | Job webDeveloper = new Job( "Web Developer");
  | webDeveloper.getSkills().add( hibernateSkill );
  | hibernateSkill.getJobs().add( webDeveloper );
  | this.getEm().persist(webDeveloper);
  | 


The insert works fine, when I inject the EntityManager in my Seam 
conversational Component with @PersistenceContext( type=EXTENDED). The problem 
occurs when I inject the EntityManager with @In(value="entityManager") and 
begin the conversation with @Begin(flushMode=FlushModeType.MANUAL ). Then only 
the Job entity is inserted, but no association to Skill. When updating an 
already persisted job (just adding a new Skill to the association) everything 
works fine. The Problem with @PersistenceContext EntityManager is, that the 
Associations get updated immediaty, when a new Skill is added to a managed Job 
entity without having to manually persist the job entity. I don't want that 
behaviour. That's why I would like to use flushMode manual (only works with 
Seam EntityManager).

I could use a work around, but can anyone explain to me why no associations are 
inserted when persisting an unmanaged (i.e. new) job entity with the Seam 
EntityManager (@In annotation) and flush mode manual?
Or am I doing something wrong?

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4049244#4049244

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4049244
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to