This week's book giveaway is in the Performance forum.
We're giving away four copies of The Java Performance Companion and have Charlie Hunt, Monica Beckwith, Poonam Parhar, & Bengt Rutisson on-line!
See this thread for details.
Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Problems with transitive/cascading persistence

 
Julien Martin
Ranch Hand
Posts: 384
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,

I have an entity Poll that can contain multiple entities PossibleAnswer. They are mapped by two tables, one with a pk (Poll) the other with a pk and a fk (PossibleAnswer). It is a bidirectional relationship.


Here is the relevant snippet from PossibleAnswer:

[code] @ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="idPoll")
private Poll poll;[code]

Here is the relevant snippet from Poll

[code]@OneToMany(mappedBy="poll")
private Collection<PossibleAnswer> possibleAnswers = new ArrayList<PossibleAnswer>();[code]

I then set the Poll on each possible answer
[code]possibleAnswer1.setPoll(poll)[code]

I then add the possible Answers to the collection.
[code]possibleAnswers.add(possibleAnswer1)[code]

I then set the collection to the Poll as follows:
[code]poll.setPossibleAnswers(possibleAnswers)[code]

and finally I persist the poll.

Only the poll entity gets persisted and therefore the transitive persistence does not work.

I use hibernate as jpa provider.

Can anyone please help?

Julien.
[ November 19, 2007: Message edited by: Julien Martin ]
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes you only set the cascade option for one of the directions, not the other. So set the OneToMany mapping to have a cascade option to save it.

Mark
 
Julien Martin
Ranch Hand
Posts: 384
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
thanks Mark!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic