Fund
Code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.mycompany.mis.Domain;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
/**
*
* @author ds
*/
@Entity
@Table(name = "Fund", uniqueConstraints = {
@UniqueConstraint(columnNames = {"ClientId"})})
@NamedQueries({
@NamedQuery(name = "Fund.findAll", query = "SELECT f FROM Fund f")})
public class Fund implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "Id", nullable = false)
private Integer id;
@Column(name = "FundStartupId")
private Integer fundStartupId;
@Column(name = "FundTerminationId")
private Integer fundTerminationId;
@JoinTable(name = "FundInvestmentTypes", joinColumns = {
@JoinColumn(name = "FundId", referencedColumnName = "Id", nullable = false)}, inverseJoinColumns = {
@JoinColumn(name = "InvestmentTypeId", referencedColumnName = "Id", nullable = false)})
@ManyToMany
private List<InvestmentType> investmentTypes;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "fund")
private FundStaffing fundStaffing;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "fund")
private FundTermination fundTermination;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "fund")
private FundStartup fundStartup;
@JoinColumn(name = "ClientId", referencedColumnName = "Id", nullable = false)
@OneToOne(optional = false)
private Client client;
@JoinColumn(name = "FundActiveStatusId", referencedColumnName = "Id")
@ManyToOne
private FundActiveStatus fundActiveStatus;
@JoinColumn(name = "FundDifficultyLevelId", referencedColumnName = "Id")
@ManyToOne
private FundDifficultyLevel fundDifficultyLevel;
@JoinColumn(name = "InvestmentMethodId", referencedColumnName = "Id")
@ManyToOne
private FundInvestmentMethod investmentMethod;
@JoinColumn(name = "FundStrategyId", referencedColumnName = "Id")
@ManyToOne
private FundStrategy fundStrategy;
public Fund() {
}
public Fund(Integer id) {
this.id = id;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getFundStartupId() {
return fundStartupId;
}
public void setFundStartup(Integer fundStartupId) {
this.fundStartupId = fundStartupId;
}
public Integer getFundTerminationId() {
return fundTerminationId;
}
public void setFundTerminationId(Integer fundTerminationId) {
this.fundTerminationId = fundTerminationId;
}
public List<InvestmentType> getInvestmentTypes() {
return investmentTypes;
}
public void setInvestmentTypes(List<InvestmentType> investmentTypes) {
this.investmentTypes = investmentTypes;
}
public FundStaffing getFundStaffing() {
return fundStaffing;
}
public void setFundStaffing(FundStaffing fundStaffing) {
this.fundStaffing = fundStaffing;
}
public FundTermination getFundTermination() {
return fundTermination;
}
public void setFundTermination(FundTermination fundTermination) {
this.fundTermination = fundTermination;
}
public FundStartup getFundStartup() {
return fundStartup;
}
public void setFundStartup(FundStartup fundStartup) {
this.fundStartup = fundStartup;
}
public Client getClientId() {
return client;
}
public void setClientId(Client clientId) {
this.client = clientId;
}
public FundActiveStatus getFundActiveStatusId() {
return fundActiveStatus;
}
public void setFundActiveStatusId(FundActiveStatus fundActiveStatusId) {
this.fundActiveStatus = fundActiveStatusId;
}
public FundDifficultyLevel getFundDifficultyLevelId() {
return fundDifficultyLevel;
}
public void setFundDifficultyLevelId(FundDifficultyLevel fundDifficultyLevelId) {
this.fundDifficultyLevel = fundDifficultyLevelId;
}
public FundInvestmentMethod getInvestmentMethodId() {
return investmentMethod;
}
public void setInvestmentMethodId(FundInvestmentMethod investmentMethodId) {
this.investmentMethod = investmentMethodId;
}
public FundStrategy getFundStrategyId() {
return fundStrategy;
}
public void setFundStrategyId(FundStrategy fundStrategyId) {
this.fundStrategy = fundStrategyId;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Fund)) {
return false;
}
Fund other = (Fund) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return "com.mycompany.MIS.Domain.Fund[id=" + id + "]";
}
}