• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
  • Mikalai Zaikin

Hibernate: Updates all the items of a set - Cascade ‘create’ not working

Ranch Hand
Posts: 180
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi All,

I am using following data model (changed to make it simpler).


Student and Teacher have a column whose forign key is BOOKS_ASSC_ID, hbm mapping as following

Books Association Mapping is as following:

and the BOOK_DETAILS table has a coulmn refering to BOOKS_ASSOCIATION table.

The general idea is, the main entity(student,teacher, or anybody else) can have many books. Thus they are having ref to an association key which in turns refer to book details table.

Why there is no direct one to many mapping between main entity (student, teacher, anybody else) is because, books can be issued to any of the main entity. Thus, in order to maintain the forign key reference in BOOK_DETAILS table, this is done.

Now, the problem: Suppose, a Student has issued five books already. Now if I add one more book to the booksDetails set and update the Student object, hibernate runs one insert statement (which is fine), but also runs 6 update statements considering that I have not updated anything in the rest 5 books. I dont want to update the previous items in the association set.

Is there any way to do so? Please also note that I can live with, never updating the BOOK_DETAILS from BOOKS_ASSC or parent entity (STUDENT, TEACHER, etc). I just want two operatonsL: 1) retrieve and 2) add into the bookDetails set.

I tried using cascade="create", but this is not supported. Can anybody please suggest the solution to the problem?
Don't get me started about those stupid light bulbs.
    Bookmark Topic Watch Topic
  • New Topic