All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.evasion.entity.Account Maven / Gradle / Ivy

There is a newer version: 2.0.0.2
Show newest version
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.evasion.entity;

import com.evasion.entity.security.User;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;
import javax.persistence.PrePersist;
import javax.persistence.Table;
import javax.persistence.Temporal;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;

/**
 *
 * @author sebastien.glon
 */
@Entity()
@Table(name = "Accounts")
@NamedQuery(name = "findAllAccounts", query = "SELECT b FROM Account b")
public class Account implements Serializable {
    /***
     * serialVersionUID.
     */
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @OneToOne
    private User user;

    @OneToOne
    private Person person;

    public Account() {
    }

    public Account(User user, Person person) {
        this.user = user;
        this.person = person;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    
    public Person getPerson() {
        return person;
    }

    public void setPerson(Person person) {
        this.person = person;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    /**
     * {@inheritDoc }
     */
    @Override
    public boolean equals(final Object obj) {
        if (obj == null) {
            return false;
        }
        if (this == obj) {
            return true;
        }
        if (!(obj instanceof Account)) {
            return false;
        }
        Account rhs = (Account) obj;
        return new EqualsBuilder().append(this.user, rhs.user).append(this.person, rhs.person).isEquals();
    }

    /**
     * Calcul du hashcode sur la clé naturelle.
     * @return valeur du hashCode.
     */
    @Override
    public int hashCode() {
        HashCodeBuilder hash = new HashCodeBuilder();
        hash.append(this.getUser()).append(this.getPerson());
        return hash.toHashCode();
    }

    @Override
    public String toString() {
        return "com.evasion.entity.Account["
                + " id=" + id
                + "]";
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy