// ======================================================================== // Copyright (C) zeroth Project Team. All rights reserved. // GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 // http://www.gnu.org/licenses/agpl-3.0.txt // ======================================================================== package zeroth.actor.service.domain; import javax.persistence.Cacheable; import javax.persistence.Column; import javax.persistence.DiscriminatorColumn; import javax.persistence.DiscriminatorType; import javax.persistence.Entity; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; import javax.persistence.Table; import zeroth.framework.enterprise.domain.AbstractVersionable; /** * 職員 * @param <T> 職員オブジェクト型 * @author nilcy */ @Entity @Table(name = "staff") @Inheritance(strategy = InheritanceType.JOINED) @DiscriminatorColumn(name = "staff_type", discriminatorType = DiscriminatorType.STRING) @Cacheable(true) public class Staff<T extends Staff<T>> extends AbstractVersionable<T> { /** 製品番号 */ private static final long serialVersionUID = -6782665199241064589L; /** 姓 */ @Column(name = "family_name", nullable = false, insertable = true, updatable = true) private String familyName; /** 名 */ @Column(name = "given_name", nullable = true, insertable = true, updatable = true) private String givenName; /** 姓カナ */ @Column(name = "family_alias", nullable = true, insertable = true, updatable = true) private String familyAlias; /** 名カナ */ @Column(name = "given_alias", nullable = true, insertable = true, updatable = true) private String givenAlias; /** * {@link #familyName} の取得 * @return {@link #familyName} */ public String getFamilyName() { return this.familyName; } /** * {@link #familyName} の設定 * @param aFamilyName {@link #familyName} */ public void setFamilyName(final String aFamilyName) { this.familyName = aFamilyName; } /** * {@link #givenName} の取得 * @return {@link #givenName} */ public String getGivenName() { return this.givenName; } /** * {@link #givenName} の設定 * @param aGivenName {@link #givenName} */ public void setGivenName(final String aGivenName) { this.givenName = aGivenName; } /** * {@link #familyAlias} の取得 * @return {@link #familyAlias} */ public String getFamilyAlias() { return this.familyAlias; } /** * {@link #familyAlias} の設定 * @param aFamilyAlias {@link #familyAlias} */ public void setFamilyAlias(final String aFamilyAlias) { this.familyAlias = aFamilyAlias; } /** * {@link #givenAlias} の取得 * @return {@link #givenAlias} */ public String getGivenAlias() { return this.givenAlias; } /** * {@link #givenAlias} の設定 * @param aGivenAlias {@link #givenAlias} */ public void setGivenAlias(final String aGivenAlias) { this.givenAlias = aGivenAlias; } }