[jboss-user] [EJB 3.0] - Problems with ManyToMany with non-existing child entity inse

fowlks@msu.edu do-not-reply at jboss.com
Sun Dec 3 23:24:27 EST 2006


Hello, All

I've hit a minor snag in my understanding of ManyToMany relationships with EJB3. In a nutshell, I have a Post Entity which as a ManyToMany relationship with a Keyword Entity. I'm decided to create my own junction table. The Keyword table has a unique key constraint on the keyword field.

The Issue:

I can persist new Post entities with non-existing Keywords entities  (e.g. Keywords that don't exist in the database  ) But , When I attempt to attach 
an existing Keyword entity to a non-persisted Post object the persist fails for the following reason. 

org.hibernate.PersistentObjectException: detached entity passed to persist: com.example.web.jList.ejb.entity.Keyword

My understanding:
What i'm expecting is that if i attach an existing Keyword entity to the Post entity then i should have a new row in my Post/Keyword junction table.

I main question is what am i doing wrong?

JBoss 4.0.5GA JEMS install with EJB3 support

My database looks like so:




Post Table idtitledescriptionpostdatelogin_idprohibitedevents_id

1Moving Sale Everything must GO!!!!Test2006-11-16 19:22:02101

2Once's in a life time Sale!!!!Test 22006-11-16 19:22:02102



Post/Keyword Junction Table
idposts_idkeywords_id

113

224

311

416

515

621


Keyword Table
idcountversionkeyword

100car

200tools

300toys

400computers

500babys toys

600car parts


  | // In my Post Entity
  | @ManyToMany( fetch = FetchType.EAGER , cascade = CascadeType.ALL)
  | 	@JoinTable( name="keyword_posts_junc",
  | 	joinColumns={@JoinColumn(name="posts_id")},
  | 	inverseJoinColumns={@JoinColumn(name="keywords_id")} )
  | 	public Set<Keyword> getKeywords() {
  | 		return keywords;
  | 	}
  | 



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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3990853



More information about the jboss-user mailing list