package com.fp.persistence.pcustomer.balance; import javax.persistence.EmbeddedId; import javax.persistence.Entity; import javax.persistence.Column; import javax.persistence.EntityManager; import java.io.Serializable; import javax.persistence.Table; import com.fp.dto.hb.HibernateBean; import javax.persistence.Version; import java.lang.reflect.Field; import javax.persistence.NoResultException; import javax.persistence.Query; import javax.persistence.Transient; /**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TCUSTBALANCEACCOUNT*/ @Entity(name = "TcustBalanceAccount") @Table(name = "TCUSTBALANCEACCOUNT") public class TcustBalanceAccount extends com.fp.dto.AbstractDataTransport implements Serializable, HibernateBean, Cloneable { /** * HashCode asociado con la Instancia */ @Transient private int hashValue = 0; /** * Version de la Clase */ private static final long serialVersionUID = 1L; /** * Clave primaria de la Entidad TcustBalanceAccount */ @EmbeddedId private TcustBalanceAccountKey pk; @Column(name = "ACCOLEVELCODE", nullable = true) /** * Codigo de nivel de cuenta de balance */ private Integer accolevelcode; @Column(name = "ACCOUNTCATALOG", nullable = true) /** * Codigo de catalogo 01 Natural, 02 Juridico */ private String accountcatalog; @Column(name = "ACCOUNTCATALOGCODE", nullable = true) /** * Codigo de tabla de catalogo 01 Codigo de tabla de tipos de persona */ private String accountcatalogcode; @Column(name = "DESCRIPTION", nullable = true) /** * Descripcion de la cuenta de balance */ private String description; @Column(name = "SIGNACCOUNT", nullable = true) /** * S lleva signo la cuenta, N no lleva signo */ private String signaccount; @Column(name = "SIGNVALUE", nullable = true) /** * Signo de la cuenta de balnace */ private String signvalue; @Version @Column(name = "RECORDVERSION", nullable = true) /** * Manejo de optimistic locking del registro */ private Integer recordversion; @Column(name = "PARAMETERFILE", nullable = true) /** * null */ private String parameterfile; /**Contructor por defecto*/ public TcustBalanceAccount() { } /**Contructor de TcustBalanceAccount @param pPk Clave Primaria del entity */ public TcustBalanceAccount(TcustBalanceAccountKey pPk) { this(); pk = pPk; } /** * Metodo que entrega datos de la tabla dada la clave primaria. * @param pEntityManager referencia de la session a obtener datos del bean. * @param pKey Caleve primaria del bean. * @return TcustBalanceAccount */ public static TcustBalanceAccount find(EntityManager pEntityManager, TcustBalanceAccountKey pKey) throws Exception { TcustBalanceAccount obj = pEntityManager.find(TcustBalanceAccount.class, pKey); return obj; } /**Entrega la Clave primaria de TcustBalanceAccount @return El objeto que referencia a la Clave primaria de TcustBalanceAccount */ public TcustBalanceAccountKey getPk() { return pk; } /**Fija un nuevo valor a la Clave primaria de TcustBalanceAccount @param pPk El objeto que referencia a la nueva Clave primaria de TcustBalanceAccount */ public void setPk(TcustBalanceAccountKey pPk) { pk = pPk; } /**Obtiene el valor de accolevelcode @return valor de accolevelcode*/ public Integer getAccolevelcode() { return accolevelcode; } /**Fija el valor de accolevelcode @param pAccolevelcode nuevo Valor de accolevelcode*/ public void setAccolevelcode(Integer pAccolevelcode) { accolevelcode = pAccolevelcode; } /**Obtiene el valor de accountcatalog @return valor de accountcatalog*/ public String getAccountcatalog() { return accountcatalog; } /**Fija el valor de accountcatalog @param pAccountcatalog nuevo Valor de accountcatalog*/ public void setAccountcatalog(String pAccountcatalog) { accountcatalog = pAccountcatalog; } /**Obtiene el valor de accountcatalogcode @return valor de accountcatalogcode*/ public String getAccountcatalogcode() { return accountcatalogcode; } /**Fija el valor de accountcatalogcode @param pAccountcatalogcode nuevo Valor de accountcatalogcode*/ public void setAccountcatalogcode(String pAccountcatalogcode) { accountcatalogcode = pAccountcatalogcode; } /**Obtiene el valor de description @return valor de description*/ public String getDescription() { return description; } /**Fija el valor de description @param pDescription nuevo Valor de description*/ public void setDescription(String pDescription) { description = pDescription; } /**Obtiene el valor de signaccount @return valor de signaccount*/ public String getSignaccount() { return signaccount; } /**Fija el valor de signaccount @param pSignaccount nuevo Valor de signaccount*/ public void setSignaccount(String pSignaccount) { signaccount = pSignaccount; } /**Obtiene el valor de signvalue @return valor de signvalue*/ public String getSignvalue() { return signvalue; } /**Fija el valor de signvalue @param pSignvalue nuevo Valor de signvalue*/ public void setSignvalue(String pSignvalue) { signvalue = pSignvalue; } /**Obtiene el valor de recordversion @return valor de recordversion*/ public Integer getRecordversion() { return recordversion; } /**Fija el valor de recordversion @param pRecordversion nuevo Valor de recordversion*/ public void setRecordversion(Integer pRecordversion) { recordversion = pRecordversion; } /**Obtiene el valor de parameterfile @return valor de parameterfile*/ public String getParameterfile() { return parameterfile; } /**Fija el valor de parameterfile @param pParameterfile nuevo Valor de parameterfile*/ public void setParameterfile(String pParameterfile) { parameterfile = pParameterfile; } public boolean equals(Object rhs) { if (rhs == null) { return false; } if (!(rhs instanceof TcustBalanceAccount)) { return false; } TcustBalanceAccount that = (TcustBalanceAccount) rhs; if (this.getPk() == null || that.getPk() == null) { return false; } return (this.getPk().equals(that.getPk())); } /**Implementacion del metodo hashCode de la la entidad TcustBalanceAccount @return el hashCode la instancia */ public int hashCode() { if (this.hashValue == 0) { int result = 17; if (this.getPk() == null) { result = super.hashCode(); } else { result = this.getPk().hashCode(); } this.hashValue = result; } return this.hashValue; } /**Implementacion toString */ public String toString() { Field[] fs = this.getClass().getDeclaredFields(); String data = ""; for (Field f : fs) { try { String name = f.getName(); if (f.getType().getName().compareTo("java.util.Set") == 0) { continue; } if (name.compareTo("hashValue") == 0 || name.compareTo("serialVersionUID") == 0) { continue; } data += name + "=" + f.get(this) + ";"; } catch (Exception e) { continue; } } if (data.compareTo("") == 0) { data = super.toString(); } return data; } /**Implementacion de la creacion de un bean en blanco TcustBalanceAccount */ public Object createInstance() { TcustBalanceAccount instance = new TcustBalanceAccount(); instance.setPk(new TcustBalanceAccountKey()); return instance; } /**Clona la entidad TcustBalanceAccount @see com.fp.dto.hb.HibernateBean#cloneMe() */ public Object cloneMe() throws CloneNotSupportedException { TcustBalanceAccount p = (TcustBalanceAccount) this.clone(); p.setPk((TcustBalanceAccountKey) this.pk.cloneMe()); return p; } /** * jpql Que retorna un objeto TcustBalanceAccount a partir de un parametro * especěfico */ public static final String JPQL_GET_ACCOUNT_PARAMETER = "from TcustBalanceAccount t where t.parameterfile = :parameter"; /** * Metodo que entrega el Objeto a partir de un campo especěfico. * * @param pEntityManager referencia de la session a obtener datos del bean. * @param pParameterfile Campo especěfico del bean. * @return * @throws Exception */ public static TcustBalanceAccount findPerParameter(EntityManager pEntityManager, String pParameterfile) throws Exception { TcustBalanceAccount tcustBalanceAccount = null; Query qry = pEntityManager.createQuery(JPQL_GET_ACCOUNT_PARAMETER); qry.setParameter("parameter", pParameterfile); try { tcustBalanceAccount = (TcustBalanceAccount) qry.getSingleResult(); } catch (NoResultException e) { } return tcustBalanceAccount; } }