package com.fp.persistence.pgeneral.gene; 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 java.util.List; import javax.persistence.Query; import javax.persistence.Transient; /**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TGENELABEL*/ @Entity(name = "TgeneLabel") @Table(name = "TGENELABEL") public class TgeneLabel 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 TgeneLabel */ @EmbeddedId private TgeneLabelKey pk; @Version @Column(name = "RECORDVERSION", nullable = true) /** * Optimistic locking del registro */ private Integer recordversion; @Column(name = "TYPE", nullable = true) /** * null */ private String type; @Column(name = "DESCRIPTION", nullable = true) /** * null */ private String description; /**Contructor por defecto*/ public TgeneLabel() { } /**Contructor de TgeneLabel @param pPk Clave Primaria del entity */ public TgeneLabel(TgeneLabelKey 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 TgeneLabel */ public static TgeneLabel find(EntityManager pEntityManager, TgeneLabelKey pKey) throws Exception { TgeneLabel obj = pEntityManager.find(TgeneLabel.class, pKey); return obj; } /**Entrega la Clave primaria de TgeneLabel @return El objeto que referencia a la Clave primaria de TgeneLabel */ public TgeneLabelKey getPk() { return pk; } /**Fija un nuevo valor a la Clave primaria de TgeneLabel @param pPk El objeto que referencia a la nueva Clave primaria de TgeneLabel */ public void setPk(TgeneLabelKey pPk) { pk = pPk; } /**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 type @return valor de type*/ public String getType() { return type; } /**Fija el valor de type @param pType nuevo Valor de type*/ public void setType(String pType) { type = pType; } /**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; } public boolean equals(Object rhs) { if (rhs == null) { return false; } if (!(rhs instanceof TgeneLabel)) { return false; } TgeneLabel that = (TgeneLabel) rhs; if (this.getPk() == null || that.getPk() == null) { return false; } return (this.getPk().equals(that.getPk())); } /**Implementación del metodo hashCode de la la entidad TgeneLabel @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; } /**Implementación 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; } /**Implementación de la creación de un bean en blanco TgeneLabel */ public Object createInstance() { TgeneLabel instance = new TgeneLabel(); instance.setPk(new TgeneLabelKey()); return instance; } /**Clona la entidad TgeneLabel @see com.fp.dto.hb.HibernateBean#cloneMe() */ public Object cloneMe() throws CloneNotSupportedException { TgeneLabel p = (TgeneLabel) this.clone(); p.setPk((TgeneLabelKey) this.pk.cloneMe()); return p; } //METODOS MANUALES private static final String SQL = "from TgeneLabel tl" + " where tl.pk.languagecode = :languagecode" + " and tl.pk.channelcode = :channelcode"; /** * Metodo que devuelve la lista de eiquetas a ser utilizadas en la aplicación * @param pEntityManager * @param languagecode * @param channelcode * @return * @throws Exception */ public static List getTgeneLabel(EntityManager pEntityManager, String languagecode, String channelcode) throws Exception { List lTgeneLabel = null; Query qry = pEntityManager.createQuery(SQL); qry.setParameter("languagecode", languagecode); qry.setParameter("channelcode", channelcode); lTgeneLabel = qry.getResultList(); return lTgeneLabel; } }