NEW BEHAVIOR: Hibernate second-level caching inherited by ALL DSpaceObject classes. It can no longer be on subclasses as the @Cache annotation is only allowed on root classes.

This commit is contained in:
Tim Donohue
2024-03-04 16:03:05 -06:00
parent 94bbf407a7
commit 1612858e79
6 changed files with 4 additions and 20 deletions

View File

@@ -17,7 +17,6 @@ import java.util.Set;
import java.util.UUID;
import jakarta.annotation.Nonnull;
import jakarta.persistence.Cacheable;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -37,7 +36,6 @@ import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.core.HibernateProxyHelper;
import org.dspace.eperson.Group;
import org.hibernate.annotations.CacheConcurrencyStrategy;
/**
* Class representing a collection.
@@ -54,8 +52,6 @@ import org.hibernate.annotations.CacheConcurrencyStrategy;
*/
@Entity
@Table(name = "collection")
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, include = "non-lazy")
public class Collection extends DSpaceObject implements DSpaceObjectLegacySupport {
@Column(name = "collection_id", insertable = false, updatable = false)

View File

@@ -13,7 +13,6 @@ import java.util.List;
import java.util.Set;
import java.util.UUID;
import jakarta.persistence.Cacheable;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -33,7 +32,6 @@ import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.core.HibernateProxyHelper;
import org.dspace.eperson.Group;
import org.hibernate.annotations.CacheConcurrencyStrategy;
/**
@@ -47,8 +45,6 @@ import org.hibernate.annotations.CacheConcurrencyStrategy;
*/
@Entity
@Table(name = "community")
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, include = "non-lazy")
public class Community extends DSpaceObject implements DSpaceObjectLegacySupport {
@Column(name = "community_id", insertable = false, updatable = false)
private Integer legacyId;

View File

@@ -12,6 +12,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import jakarta.persistence.Cacheable;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -28,6 +29,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.dspace.authorize.ResourcePolicy;
import org.dspace.core.ReloadableEntity;
import org.dspace.handle.Handle;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.GenericGenerator;
/**
@@ -36,6 +38,8 @@ import org.hibernate.annotations.GenericGenerator;
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "dspaceobject")
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, includeLazy = false)
public abstract class DSpaceObject implements Serializable, ReloadableEntity<java.util.UUID> {
@Id
@GeneratedValue(generator = "predefined-uuid")

View File

@@ -7,7 +7,6 @@
*/
package org.dspace.content;
import jakarta.persistence.Cacheable;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import jakarta.persistence.Transient;
@@ -17,15 +16,12 @@ import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
import org.hibernate.annotations.CacheConcurrencyStrategy;
/**
* Represents the root of the DSpace Archive.
* By default, the handle suffix "0" represents the Site, e.g. "1721.1/0"
*/
@Entity
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Table(name = "site")
public class Site extends DSpaceObject {

View File

@@ -12,7 +12,6 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import jakarta.persistence.Cacheable;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
@@ -31,7 +30,6 @@ import org.dspace.core.Context;
import org.dspace.core.HibernateProxyHelper;
import org.dspace.eperson.factory.EPersonServiceFactory;
import org.dspace.eperson.service.EPersonService;
import org.hibernate.annotations.CacheConcurrencyStrategy;
/**
* Class representing an e-person.
@@ -39,8 +37,6 @@ import org.hibernate.annotations.CacheConcurrencyStrategy;
* @author David Stuve
*/
@Entity
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, include = "non-lazy")
@Table(name = "eperson")
public class EPerson extends DSpaceObject implements DSpaceObjectLegacySupport {
@Column(name = "eperson_id", insertable = false, updatable = false)

View File

@@ -11,7 +11,6 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import jakarta.persistence.Cacheable;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
@@ -26,7 +25,6 @@ import org.dspace.content.DSpaceObjectLegacySupport;
import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.core.HibernateProxyHelper;
import org.hibernate.annotations.CacheConcurrencyStrategy;
/**
* Class representing a group of e-people.
@@ -34,8 +32,6 @@ import org.hibernate.annotations.CacheConcurrencyStrategy;
* @author David Stuve
*/
@Entity
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, include = "non-lazy")
@Table(name = "epersongroup")
public class Group extends DSpaceObject implements DSpaceObjectLegacySupport {