Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3977710
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T04:57:21+00:00 2026-05-20T04:57:21+00:00

I have two classes: Parent and Child , mapped one-to-many with relationship owned by

  • 0

I have two classes: Parent and Child, mapped one-to-many with relationship owned by Child. I also am using 2nd level cache with Ehcache.

To persist the relationship, I do this:

child.setParent(parent);
session.saveOrUpdate(child);
parent.getChildren().add(child);

When I load parent in another session (from 2nd level cache), will this newly added child be visible? What is the proper way to refresh parent’s collection in this situation?

Bonus points for answers that have some concrete explanation or link to docs, not “seems fine to me, yes”.

To be clear: Everything happens inside a transaction that is properly committed. The main question is: Is this the right way to refresh parent.children for this Session and for others in 2nd level cache?

Another point: What shall I do to evict such collection from 2nd level cache on rollback?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T04:57:21+00:00Added an answer on May 20, 2026 at 4:57 am

    In my opinion, this is because of the nature of database isolation, things that are not committed should not be visible to other database connection (in Hibernate language, things that are not committed should not be visible to other Hibernate sessions).
    What you need to do to be visible in other Hibernate sessions is to commit the transaction (in Hibernate language, commit the Hibernate session).

    Transaction tx = session.beginTransaction()
    
    child.setParent(parent);
    session.saveOrUpdate(child);
    parent.getChildren().add(child);
    
    tx.commit()
    

    I quote from this documentation site

    In unmanaged context:

    You do not have to flush() the Session
    explicitly: the call to commit()
    automatically triggers the
    synchronization depending on the
    FlushMode for the session. A call to
    close() marks the end of a session.
    The main implication of close() is
    that the JDBC connection will be
    relinquished by the session. This Java
    code is portable and runs in both
    non-managed and JTA environments.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have two classes in an owned one-to-many relationship. The parent is Map, and
I have a bi-directional one-to-many relationship defined between Parent and Child classes. I'm looking
I have two classes with a parent-child relationship (customer&order directory&file etc) I have typedef
I have two classes with a parent-child relationship (the Parent class has-a Child class),
I have a MustInherit Parent class with two Child classes which Inherit from the
I have two classes: Parent and Child with Child: belongs_to :parent and Parent has_many
I have an abstract parent class(Product) and two child classes that inherit from it(Book,Software).
I have a Parent class with two lists of Child classes public class Parent
Let's say I have two classes, Parent and Child. These two are related via
I have two classes, let's call them parent and child, and both need to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.