Prev Next

Hibernate / Hibernate Caching

Explain collection cache in Hibernate.

Second Level Cache caches entities. Also, the second level cache also allows users to cache entity relationship information. Hibernate provides a collection cache, where it caches the primary keys of entities that are members of a collection field in another entity type. Say, for example, we have two entity types, Book and Auther, where an Auther participates in a many-to-one relationship with a Book.

import javax.persistence.*;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

@Entity
@Cache(usage=CacheConcurrencyStrategy.TRANSACTIONAL)
public class Book{

  @Id
  private Integer id;
  private String name;

  @Cache (usage=CacheConcurrencyStrategy.TRANSACTIONAL)
  @OneToMany(mappedBy="auther", fetch=FetchType.EAGER, cascade=CascadeType.ALL)
  private Set authers;

  .....
}

More Related questions...

Show more question and Answers...


Comments & Discussions