/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE and NOTICE files at the root of the source * tree and available online at * * http://www.dspace.org/license/ */ package org.dspace.eperson; import org.hibernate.proxy.HibernateProxyHelper; import javax.persistence.*; import java.io.Serializable; /** * Database entity representation of the group2groupcache table * * @author kevinvandevelde at atmire.com */ @Entity @Table(name = "group2groupcache" ) public class Group2GroupCache implements Serializable { @Id @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "parent_id", nullable = false) public Group parent; @Id @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "child_id", nullable = false) public Group child; public Group getParent() { return parent; } public void setParent(Group parent) { this.parent = parent; } public Group getChild() { return child; } public void setChild(Group child) { this.child = child; } /** * Protected constructor, create object using: * {@link org.dspace.eperson.service.GroupService} * */ protected Group2GroupCache() { } @Override public boolean equals(Object obj) { if (obj == null) { return false; } Class<?> objClass = HibernateProxyHelper.getClassWithoutInitializingProxy(obj); if (getClass() != objClass) { return false; } final Group2GroupCache other = (Group2GroupCache) obj; if(!parent.equals(other.getParent())) { return false; } if(!child.equals(other.getChild())) { return false; } return true; } }