| /* |
| * Copyright (c) 2009, 2021 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 v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0, |
| * or the Eclipse Distribution License v. 1.0 which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| */ |
| |
| // Contributors: |
| // Oracle - Initial API and implementation. |
| // 07/07/2014-2.6 Tomas Kraus |
| // - 439127: Modified to use this class in jUnit test model. |
| package org.eclipse.persistence.testing.models.jpa.advanced.embeddable; |
| |
| import jakarta.persistence.*; |
| import java.util.*; |
| |
| /** |
| * Visitor entity with Embedded attribute and SqlResultSetMapping. |
| */ |
| @SqlResultSetMappings({ |
| @SqlResultSetMapping(name = "VisitorResults", entities = { |
| @EntityResult(entityClass = org.eclipse.persistence.testing.models.jpa.advanced.embeddable.Visitor.class, fields = { |
| @FieldResult(name = "id", column = "OID"), |
| @FieldResult(name = "name", column = "ONAME"), |
| @FieldResult(name = "country.country", column = "OCOUNTRY"), |
| @FieldResult(name = "country.code", column = "OCODE") |
| }) |
| }), |
| }) |
| @Entity |
| @Table(name = "CMP3_EMBED_VISITOR") |
| public class Visitor implements java.io.Serializable { |
| |
| // Instance variables |
| /** Entity primary key. */ |
| private String id; |
| |
| /** Visitor's name. */ |
| private String name; |
| |
| /** Visitor's country. */ |
| private Country country; |
| |
| /** |
| * Constructs an empty instance of <code>Visitor</code> entity. |
| */ |
| public Visitor() {} |
| |
| /** |
| * Constructs an instance of <code>Visitor</code> entity with primary key and name set. |
| * @param id Entity primary key. |
| * @param name Visitor's name. |
| */ |
| public Visitor(String id, String name) { |
| this.id = id; |
| this.name = name; |
| } |
| |
| /** |
| * Constructs an instance of <code>Visitor</code> entity with primary key, name and country set. |
| * @param id Entity primary key. |
| * @param name Visitor's name. |
| * @param country Visitor's country. |
| */ |
| public Visitor(String id, String name, Country country) { |
| this.id = id; |
| this.name = name; |
| this.country = country; |
| } |
| |
| /** |
| * Get entity primary key. |
| * @return Entity primary key. |
| */ |
| @Id |
| @Column(name = "ID") |
| public String getId() { |
| return id; |
| } |
| |
| /** |
| * Set entity primary key. |
| * @param v Entity primary key. |
| */ |
| public void setId(String v) { |
| this.id = v; |
| } |
| |
| /** |
| * Get visitor's name. |
| * @return Visitor's name. |
| */ |
| @Column(name = "NAME") |
| public String getName() { |
| return name; |
| } |
| |
| /** |
| * Set visitor's name. |
| * @param name Visitor's name. |
| */ |
| public void setName(String name) { |
| this.name = name; |
| } |
| |
| /** |
| * Get visitor's country. |
| * @return Visitor's country. |
| */ |
| @Embedded |
| public Country getCountry() { |
| return country; |
| } |
| |
| /** |
| * Set visitor's country. |
| * @param country Visitor's country. |
| */ |
| public void setCountry(Country country) { |
| this.country = country; |
| } |
| |
| /** |
| * Compare this entity with given object. |
| * @return Value of <code>true</code> if given object is an instance of the same class |
| * and values of ID attributes are equal. Otherwise returns value of <code>false</code>. |
| */ |
| public boolean equals(Object object) { |
| Visitor other = (object instanceof Visitor) ? (Visitor) object : null; |
| // Given object is not an instance of the same class. |
| if (other == null) { |
| return false; |
| } |
| // Compare id. |
| if (id != null) { |
| if (!id.equals(other.id)) { |
| return false; |
| } |
| } else if (other.id != null) { |
| return false; |
| } |
| return true; |
| } |
| |
| /** |
| * Generates entity hash code. |
| * @return Entity hash code based on primary key value. |
| */ |
| public int hashCode() { |
| return id != null ? id.hashCode() : "null".hashCode(); |
| } |
| |
| /** |
| * Constructs {@link String} representation of this entity instance. |
| * @return {@link String} representation of this entity instance. |
| */ |
| @Override |
| public String toString() { |
| StringBuilder result = new StringBuilder(); |
| result.append(this.getClass().getSimpleName() + "["); |
| result.append("id: " + getId()); |
| result.append(", name: " + getName()); |
| if (getCountry() != null) { |
| result.append(", country: " + getCountry()); |
| } else { |
| result.append(", country: null"); |
| } |
| result.append("]"); |
| return result.toString(); |
| } |
| } |