blob: 60e4ac468475a76d03bba526eafb512c92623cce [file] [log] [blame]
/*
* Copyright (c) 1998, 2020 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:
// 02/25/2009-2.0 Guy Pelletier
// - 265359: JPA 2.0 Element Collections - Metadata processing portions
package org.eclipse.persistence.testing.models.jpa.complexaggregate;
import jakarta.persistence.*;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import static jakarta.persistence.GenerationType.*;
@Entity
@Table(name="CMP3_HOCKEY_COACH")
public class HockeyCoach implements Serializable {
private int id;
private CoachVitals vitals;
private String lastName;
private String firstName;
private Map<HockeyPlayerName, HockeyPlayer> favouritePlayers;
public HockeyCoach () {
favouritePlayers = new HashMap<HockeyPlayerName, HockeyPlayer>();
}
@Column(name="FNAME")
public String getFirstName() {
return firstName;
}
@Column(name="LNAME")
public String getLastName() {
return lastName;
}
@Id
@GeneratedValue(strategy=TABLE, generator="HOCKEY_COACH_TABLE_GENERATOR")
@TableGenerator(
name="HOCKEY_COACH_TABLE_GENERATOR",
table="CMP3_HOCKEY_SEQ",
pkColumnName="SEQ_NAME",
valueColumnName="SEQ_COUNT",
pkColumnValue="HOCKEY_PLAYER_SEQ"
)
@Column(name="ID")
public int getId() {
return id;
}
@Embedded
public CoachVitals getVitals() {
return vitals;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public void setId(int id) {
this.id = id;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public void setVitals(CoachVitals vitals) {
this.vitals = vitals;
}
@OneToMany(mappedBy="coach")
public Map<HockeyPlayerName, HockeyPlayer> getFavouritePlayers() {
return favouritePlayers;
}
public void setFavouritePlayers(
Map<HockeyPlayerName, HockeyPlayer> favouritePlayers) {
this.favouritePlayers = favouritePlayers;
}
public void addFavouritePlayer(HockeyPlayer player){
player.setCoach(this);
HockeyPlayerName name = new HockeyPlayerName();
name.setFirstName(player.getFirstName());
name.setLastName(player.getLastName());
favouritePlayers.put(name, player);
}
public String toString() {
return "Hockey coach: " + getFirstName() + " " + getLastName();
}
}