/******************************************************************************* * Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Oracle - initial API and implementation from Oracle TopLink * 05/30/2008-1.0M8 Guy Pelletier * - 230213: ValidationException when mapping to attribute in MappedSuperClass * 06/20/2008-1.0 Guy Pelletier * - 232975: Failure when attribute type is generic * 08/11/2010-2.2 Guy Pelletier * - 312123: JPA: Validation error during Id processing on parameterized generic OneToOne Entity relationship from MappedSuperclass ******************************************************************************/ package org.eclipse.persistence.testing.models.jpa.inherited; import java.math.BigDecimal; import java.math.BigInteger; import javax.persistence.Inheritance; import javax.persistence.Table; import javax.persistence.Entity; import static javax.persistence.InheritanceType.SINGLE_TABLE; @Entity @Inheritance(strategy=SINGLE_TABLE) @Table(name="CMP3_BLUE") public class Blue extends Beer<BigDecimal, Float, Blue> implements Bluish<BigInteger, BigInteger>, Cloneable { private BigInteger uniqueKey; public Blue() {} // This class is intentionally left with no annotations to test that // it picks us the access type from the mapped superclass. public boolean equals(Object anotherBlue) { if (anotherBlue.getClass() != Blue.class) { return false; } return (getId().equals(((Blue)anotherBlue).getId())); } public Object clone() throws CloneNotSupportedException { return super.clone(); } public BigInteger getUniqueKey() { return uniqueKey; } public void setUniqueKey(BigInteger uniqueKey) { this.uniqueKey = uniqueKey; } }