/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
*/
package org.hibernate.jpa.test.factory.puUtil;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
@Entity(name = "NestedLegacyEntity")
@IdClass(NestedLegacyEntityPk.class)
public class NestedLegacyEntity {
@Id
@ManyToOne
@JoinColumns({@JoinColumn(name = "legacyFk1", referencedColumnName = "primitivePk1"),
@JoinColumn(name = "legacyFk2", referencedColumnName = "primitivePk2")})
private LegacyEntity legacyEntity;
@Id
@ManyToOne
@JoinColumn(name = "modernFk", referencedColumnName = "id")
private ModernEntity modernEntity;
public NestedLegacyEntity() {
}
public LegacyEntity getLegacyEntity() {
return legacyEntity;
}
public void setLegacyEntity(LegacyEntity legacyEntity) {
this.legacyEntity = legacyEntity;
}
public ModernEntity getModernEntity() {
return modernEntity;
}
public void setModernEntity(ModernEntity modernEntity) {
this.modernEntity = modernEntity;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
NestedLegacyEntity that = (NestedLegacyEntity) o;
if (legacyEntity != null ? !legacyEntity.equals(that.legacyEntity) : that.legacyEntity != null) return false;
return modernEntity != null ? modernEntity.equals(that.modernEntity) : that.modernEntity == null;
}
@Override
public int hashCode() {
int result = legacyEntity != null ? legacyEntity.hashCode() : 0;
result = 31 * result + (modernEntity != null ? modernEntity.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "NestedLegacyEntity{" +
"legacyEntity=" + legacyEntity +
", modernEntity=" + modernEntity +
'}';
}
}