Erro no C3p0 do Hibernate!

2 respostas
L

Estou utilizando o C3p0 ou (C3po) para fazer Pool de conexões no Hibernate…
meu arquivo hibernate.cgf esta configurado desta maneira:

...

<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="hibernate.connection.password">sgc</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@10.74.10.241:1521:XE</property>
        <property name="hibernate.connection.username">sgc</property>
        <property name="hibernate.default_schema">SGC</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>        
        
        
        <property name="hibernate.jdbc.batch_size">20</property>
        
        <property name="hibernate.use_sql_comments">true</property>
        <property name="hibernate.query.substitutions">true</property>
        
         <!-- Condiguração do c3p0 -->
		<property name="hibernate.c3p0.max_size">10</property>
		<property name="hibernate.c3p0.min_size">2</property>
		<property name="hibernate.c3p0.timeout">50000</property>
		<property name="hibernate.c3p0.max_statements">10</property>
		<property name="hibernate.c3p0.idle_test_period">3000</property>
		<property name="hibernate.c3p0.acquire_increment">2</property> 
        

...

Entretanto toda vez que eu faço alguma operação de Incluir, Alterar ou Excluir o C3p0 retorna o seguinte erro:

18:19:10,604 INFO  [GooGooStatementCache] Problem with checked-in Statement, discarding.
java.lang.NullPointerException
	at oracle.jdbc.dbaccess.DBData.clearItem(DBData.java:306)
	at oracle.jdbc.dbaccess.DBDataSetImpl.clearItem(DBDataSetImpl.java:2481)
	at oracle.jdbc.driver.OraclePreparedStatement.clearParameters(OraclePreparedStatement.java:3290)
	at com.mchange.v2.c3p0.stmt.GooGooStatementCache.refreshStatement(GooGooStatementCache.java:522)
	at com.mchange.v2.c3p0.stmt.GooGooStatementCache.checkinStatement(GooGooStatementCache.java:136)
	at com.mchange.v2.c3p0.impl.NewPooledConnection.checkinStatement(NewPooledConnection.java:191)
	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.close(NewProxyPreparedStatement.java:1807)
	at org.hibernate.jdbc.AbstractBatcher.closePreparedStatement(AbstractBatcher.java:526)
	at org.hibernate.jdbc.AbstractBatcher.closeStatement(AbstractBatcher.java:265)
	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:245)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
	at br.com.brt.correspondencia.dao.hibernate.HibernateDAO.insert(HibernateDAO.java:224)
	at br.com.brt.correspondencia.ejb.empresa.EmpresaBean.incluirHistoricoEmpresa(EmpresaBean.java:150)
	at Empresa_StatelessSessionBeanWrapper42.incluirHistoricoEmpresa(Empresa_StatelessSessionBeanWrapper42.java:906)
	at br.com.brt.correspondencia.bd.empresa.EmpresaBD.incluirHistoricoEmpresa(EmpresaBD.java:40)
	at br.com.brt.correspondencia.action.empresa.EmpresaIncluirSalvarAction.execute(EmpresaIncluirSalvarAction.java:60)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
	at br.com.brt.correspondencia.security.util.SecurityFilter.doFilter(SecurityFilter.java:54)
	at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:604)
	at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
	at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
	at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
	at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
	at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
	at java.lang.Thread.run(Thread.java:534)

Eu suspeito que é algo errado que eu fiz na minha classe HibernateUtil:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {

private static SessionFactory factory;
	
    static {
    	//Bloco estático que inicializa o Hibernate
    	try {
    	
        factory = new Configuration().configure("/br/com/brt/correspondencia/dao/hibernate/hibernate.cfg.xml").buildSessionFactory();
    	
    	} catch (Exception e) {
    		
    		e.printStackTrace();
    		factory = null;
    	}
    }
    
    public static Session getSession() {
        //Retorna a sessão aberta
    	return factory.openSession();
        
    }
    
}

Independente do erro, ela faz as operações, mas suspeito que isso possa me gerar dor de cabeça no futuro.
Sugestões???..

2 Respostas

andreiribas

posta o código desses métodos:

#  at br.com.brt.correspondencia.dao.hibernate.HibernateDAO.insert(HibernateDAO.java:224)  
#     at br.com.brt.correspondencia.ejb.empresa.EmpresaBean.incluirHistoricoEmpresa(EmpresaBean.java:150)  
#
L

Hibernate DAO:

public class HibernateDAO implements DAO{

	private static final Logger logger = Logger.getLogger(HibernateDAO.class);
	protected Class EntidadeClass;
    public static boolean persiste = true;
    private static Session session = null;
    private int i = 0;

    /**
     * Contrutor específico que gera uma DAO para o tipo de Entidade que será tratada.
     * 
     * @param EntidadeClass Tipo da Classe.
     */
	public HibernateDAO(Class EntidadeClass) {
		this.EntidadeClass = EntidadeClass;
	}	

	/**
	 * Contrutor padrão.
	 */
	public HibernateDAO() {
	}	
	
	protected final Class getEntidadeClass(){
		return EntidadeClass;
	}

	/**
	 * Método para inicialização da entidade.
	 *  
	 * @param entidade Entidade que será inicializada.
	 * @param initialize String de inicialização. 
	 * @return Entidade - entidade inicializada.
	 */	
	public Entidade initializeSingle(Entidade entidade, String[] initialize) {
        try {
        	
            Session session = getSession();
            session.lock(entidade, LockMode.NONE);
            for (int i = 0; i < initialize.length; i++)
            {
                Hibernate.initialize(PropertyUtils.getProperty(entidade, initialize[i]));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            closeSession();
        }
        return entidade;
    }

    public Entidade initialize(Entidade entidade, String[] initialize) {
        try {
            Session session = getSession();
            session.lock(entidade, LockMode.NONE);
            for (int i = 0; i < initialize.length; i++)
            {
                String init = initialize[i];
                
                Object newEntidade = entidade; 
                
                StringTokenizer stringTokenizer = new StringTokenizer(init, ".");
                
                while (stringTokenizer.hasMoreTokens())
                {
                    String s = (String)stringTokenizer.nextElement();
                    
                    if (newEntidade != null)
                    {    
                    	newEntidade = (Object)PropertyUtils.getProperty(newEntidade, s);
                    	Hibernate.initialize(newEntidade);                        
                    }    
                    
                }    
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            closeSession();
        }
        return entidade;
    }
    
    public Entidade initializeImp(Entidade entidade, String[] initialize) {
        try {
            for (int i = 0; i < initialize.length; i++)
            {
                String init = initialize[i];
                
                int j = 1;
                
                Object newEntidade = entidade; 
                
                StringTokenizer stringTokenizer = new StringTokenizer(init, ".");
                
                while (stringTokenizer.hasMoreTokens())
                {
                    String s = (String)stringTokenizer.nextElement();
                    
                    if (newEntidade != null)
                    {    
                    	if (newEntidade.getClass().getName().equals("org.hibernate.collection.PersistentSet")
                    			&&(!stringTokenizer.hasMoreTokens())
                    			&&(j > 1)){
                    		
                    		PersistentSet set = (PersistentSet)newEntidade;
                    	    
                    	    Iterator itera = set.iterator();
                    	    
                    	    while(itera.hasNext()){
                    	    	
                    	    	newEntidade = (Object)PropertyUtils.getProperty(itera.next(), s);
                        	    Hibernate.initialize(newEntidade);
                    	    }
                    		
                    	}else{
                    	    newEntidade = (Object)PropertyUtils.getProperty(newEntidade, s);
                    	    Hibernate.initialize(newEntidade);
                    	}
                    }
                    
                    j++;
                }    
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        }
            return entidade;
    }

    public Entidade findByPrimaryKey(Serializable pk) throws PersistenceException {
        Session session = getSession();
        session.beginTransaction();
        Entidade entidade = null;
        try {
            entidade = (Entidade) session.get(getEntidadeClass(), pk);
            if (entidade == null) {
                entidade = initialize(entidade, null);
            }
        } catch (HibernateException e) {
            logger.error(e);
            throw new PersistenceException(e);
        } finally {
        	session.flush();
        	session.clear();
        	
        	session.close();
            closeSession();
        }
        return entidade;

    }

	public Entidade findFirst(Integer identUC) throws PersistenceException {
		Session session = getSession();
		Entidade entidade = null;
		try {
		    StringBuffer queryStr = new StringBuffer("from ").append(getEntidadeClass().getName());
		    Query query = session.createQuery(queryStr.toString()).setFirstResult(0).setMaxResults(1);
			entidade = (Entidade) query.uniqueResult();
		} catch (HibernateException e) {
			logger.error(e);
			throw new PersistenceException(e);
		} finally {
			closeSession();
		}
		return entidade;
	} 
	
	public void saveOrUpdate(Entidade obj) throws PersistenceException{
		Session session = getSession();
		try{
			session.saveOrUpdate(obj);
			session.flush();
		}catch(HibernateException e){
			logger.error(e);
			throw new PersistenceException(e);
		}finally{
			closeSession();
		}
	}
	
	public Serializable insert(Entidade obj) throws PersistenceException {
		Session session = getSession();
		Serializable pk = null;
		try {
		    pk = session.save(obj);
			session.flush();
			if (persiste) session.beginTransaction().commit();
		} catch (HibernateException e) {
			logger.error(e);
			throw new PersistenceException(e);
		} finally {
			closeSession();
		}
		return pk;
	}

	public void update(Entidade obj) throws BatchUpdateException, PersistenceException {
		Session session = getSession();
		try {
			session.update(obj);
			session.flush();
			session.beginTransaction().commit();
			System.err.println("COMMIT");
		}catch (GenericJDBCException k){
			throw new BatchUpdateException(k.getCause().getMessage(), null);			
		}catch (HibernateException e) {					
			logger.error(e);
			throw new PersistenceException(e);
		}finally {
			closeSession();
		}
	}

	public void delete(Entidade obj) throws ConstraintViolationException, PersistenceException {
		Session session = getSession();
		try {
			session.delete(obj);
			session.flush();
			if (persiste) session.beginTransaction().commit();
		}catch (ConstraintViolationException h){
			throw new ConstraintViolationException("Não foi possível excluir o "+ obj.getClass().getName() +". Existem informações associadas", null, null);
		}		
		catch (HibernateException e) {
			logger.error(e);
			throw new PersistenceException(e);
		} finally {
			closeSession();
		}
	}

	public Collection findAll() throws PersistenceException{
		Session session = getSession();
		//session.beginTransaction();
		try {
		    StringBuffer queryStr = new StringBuffer("from ").append(getEntidadeClass().getName());
		    System.out.println(queryStr.toString());
		    Query query = session.createQuery(queryStr.toString());
			return query.list();
		} catch (HibernateException e) {
			logger.error(e);
			throw new PersistenceException(e);
		} finally {
			session.close();
			closeSession();
		}
	}

	protected Collection findAll(Order[] orderBy) throws PersistenceException {
		Session session = getSession();
		try {
			Criteria criteria = session.createCriteria(getEntidadeClass());
			if (orderBy != null) {
				for (int i = 0; i < orderBy.length; i++) {
					criteria.addOrder(orderBy[i]);
				}
			}
			criteria.setCacheable(true);
			return criteria.list();
		} catch (HibernateException e) {
			logger.error(e);
			throw new PersistenceException(e);
		}finally{
			closeSession();
		}
	}
	public Session getSession(){
			System.out.println("conexão:" + ++i);
			System.out.println(this.toString());
			return HibernateDAO.session = HibernateUtil.getSession(); 
        //tx = session.beginTransaction();
	}
	
	protected Logger getLogger() {
	    return HibernateDAO.logger;
	}
	
    protected void closeSession() {
        if (persiste)
        	HibernateUtil.getSession().close();
    }
	
/*	protected void commitTransaction(){
		HibernateUtil.commitTransaction();
	}
	
*/
    /**
     * Retorna uma Colecao de acordo com uma query HQL usando parametros
     * associados de forma posicional. Os bindings sao realizados pelo array de
     * objects passado, e um tamanho maximo especificado
     * 
     * @param hql
     * @param parameters
     * @param maxResults
     * @return
     */
    public List findByQuery(String hql, Object[] parameters, int maxResults) {
        Session session = getSession();
        List results = null;
        try {
            Query query = session.createQuery(hql);
            if (parameters != null) {
                for (int i = 0; i < parameters.length; i++) {
                    query.setParameter(i, parameters[i]);
                }
            }
            query.setMaxResults(maxResults);
            results = query.list();
        } catch (HibernateException e) {
            logger.error(e);
            throw new RuntimeException(e);
        } finally {
            closeSession();
        }
        return results;
    }
    
    /**
     * Retorna uma Colecao de acordo com uma query HQL usando parametros
     * associados de forma posicional. Os bindings sao realizados pelo array de
     * objects passado, e um tamanho maximo especificado
     * 
     * @param hql
     * @param parameters
     * @param maxResults
     * @param initialize
     * @return
     */
    public List findByQueryImp(String sql, Object[] parameters, String[] initialize) {
        Session session = getSession();
        Collection result = null;
        
        try {
            Query query = session.createSQLQuery(sql).addEntity(getEntidadeClass());
            if (parameters != null) {
                for (int i = 0; i < parameters.length; i++) {
                    query.setParameter(i, parameters[i]);
                }
            }

            result = query.list();
            
            if (initialize != null) {
            	
            	if (result != null)
                {
                    Iterator itResults = result.iterator();
                 
                    while (itResults.hasNext()) {
                        Entidade entidade = (Entidade)itResults.next();
                        Hibernate.initialize(entidade);
                        entidade = initializeImp(entidade, initialize);
                    }
                }
                
            }
            
        } catch (HibernateException e) {
            logger.error(e);
            throw new RuntimeException(e);
        } finally {
            closeSession();
        }
        return (List)result;
    }
    
    /**
     * Retorna uma Colecao de acordo com uma query HQL usando parametros
     * associados de forma posicional. Os bindings sao realizados pelo array de
     * objects passado, e um tamanho maximo especificado
     * 
     * @param hql
     * @param parameters
     * @param maxResults
     * @return
     */
    public synchronized Integer getNexPrimaryKey() {
        Session session = getSession();
        Integer result = null;
        try {
            String hql = "select isnull(max(codigo), 0) + 1 from " + getEntidadeClass().getName();
            Query query = session.createQuery(hql);
            result = (Integer)query.uniqueResult();
        } catch (HibernateException e) {
            logger.error(e);
            throw new RuntimeException(e);
        } finally {
            closeSession();
        }
        return result;
    }
    
    
    

    /**
     * Retorna uma Colecao de acordo com uma query HQL usando parametros
     * associados de forma posicional. Os bindings sao realizados pelo array de
     * objects passado
     * 
     * @param hql
     * @param parameters
     * @param maxResults
     * @return
     */
    public Collection findBySqlQuery(String sql, String alias, Object[] parameters) {
        return findBySqlQuery(sql, alias, parameters, -1, null);
    }
    
    /**
     * Retorna uma Colecao de acordo com uma query HQL usando parametros
     * associados de forma posicional. Os bindings sao realizados pelo array de
     * objects passado
     * 
     * @param hql
     * @param parameters
     * @param maxResults
     * @return
     */
    public Collection findBySqlQuery(String sql, String alias, Object[] parameters, String[] initialize) {
        return findBySqlQuery(sql, alias, parameters, -1, initialize);
    }

    /**
     * Retorna uma Colecao de acordo com uma query HQL usando parametros
     * associados de forma posicional. Os bindings sao realizados pelo array de
     * objects passado
     * 
     * @param hql
     * @param parameters
     * @param maxResults
     * @return
     */
    public Collection findBySqlQuery(String sql, String alias, Object[] parameters, int maxResults) {
        return findBySqlQuery(sql, alias, parameters, maxResults, null);
    }

    /**
     * Retorna uma Colecao de acordo com uma query HQL usando parametros
     * associados de forma posicional. Os bindings sao realizados pelo array de
     * objects passado, e um tamanho maximo especificado
     * 
     * @param hql
     * @param parameters
     * @param maxResults
     * @return
     */
    public Collection findBySqlQuery(String sql, String alias, Object[] parameters, int maxResults, String[] initialize) {
        Session session = getSession();
        Collection results = null;
        try {
            Query query = session.createSQLQuery(sql).addEntity(alias, getEntidadeClass());
            
            if (parameters != null) {
                for (int i = 0; i < parameters.length; i++) {
                    query.setParameter(i, parameters[i]);
                }
            }
            
            if (maxResults != -1)
                query.setMaxResults(maxResults);
            
            results = query.list();
            
            if (initialize != null) {
                results = initializeCollection(results, initialize);
            }
            
        } catch (HibernateException e) {
            e.printStackTrace();
            logger.error(e);
            throw new RuntimeException(e);
        } finally {
            closeSession();
        }
        return results;
    }

    /**
     * 
     */
    public Collection initializeCollection(Collection list, String[] initialize)
    {
       if (list != null)
       {
           Iterator itResults = list.iterator();
        
           while (itResults.hasNext()) {
               Entidade entidade = (Entidade)itResults.next();
               entidade = initialize(entidade, initialize);
           }
       }
        
       return list;
    }
    
    public Collection initializeCollectionImp(Collection list, String[] initialize)
    {
       if (list != null)
       {
           Iterator itResults = list.iterator();
        
           while (itResults.hasNext()) {
               Entidade entidade = (Entidade)itResults.next();
               entidade = initializeImp(entidade, initialize);
           }
       }
        
       return list;
    }
    
    /**
     * 
     * @param entidade
     * @param excludeProperty
     * @param foreignKey
     * @param foreignProperty
     * @return List - Lista de entidades que satisfazem o exemplo passado
     */
    public List findByExample(Entidade entidade, String[] excludeProperty) {
        return findByExample(entidade, excludeProperty, null, null);
    }

    /**
     * 
     * @param entidade
     * @param excludeProperty
     * @param initialize
     * @return List - Lista de entidades que satisfazem o exemplo passado
     */
    public List findByExampleImp(Entidade entidade, String[] excludeProperty, String[] initialize) {
        return findByExampleImp(entidade, excludeProperty, null, null, initialize);
    }
    
    /**
     * Método que procura uma Entidade a partir de um exemplo passado.
     * 
     * @param entidade
     * @param excludeProperty
     * @param foreignKey
     * @param foreignProperty
     * @return List - Lista de entidades que satisfazem o exemplo passado
     */
    public List findByExample(Entidade entidade, String[] excludeProperty, Entidade[] foreignKey, String[] foreignProperty) {
        Criteria crit = getSession().createCriteria(getPersistentClass());
        Example example =  Example.create(entidade).enableLike(MatchMode.ANYWHERE).ignoreCase();
       
        for (int i=0; excludeProperty != null && i<excludeProperty.length; i++) {
            example.excludeProperty(excludeProperty[i]);
        }
        if (foreignKey != null && foreignProperty != null && foreignKey.length == foreignProperty.length) {
        	for (int fp=0; fp<foreignProperty.length; fp++) {
        			crit.add(example).createCriteria(foreignProperty[fp]).add(Example.create(foreignKey[fp]).enableLike(MatchMode.ANYWHERE).ignoreCase());
        	}
        } else crit.add(example);
        
        return crit.list();
        
    }
    
    /**
     * Método que procura uma Entidade a partir de um exemplo passado.
     * 
     * @param entidade
     * @param excludeProperty
     * @param foreignKey
     * @param foreignProperty
     * @return List - Lista de entidades que satisfazem o exemplo passado
     */
    public List findByExampleImp(Entidade entidade, String[] excludeProperty, Entidade[] foreignKey, String[] foreignProperty, String[] initialize) {
        Criteria crit = getSession().createCriteria(getPersistentClass());
        Example example =  Example.create(entidade).enableLike(MatchMode.ANYWHERE).ignoreCase();
        Collection result = new ArrayList();
        
        for (int i=0; excludeProperty != null && i<excludeProperty.length; i++) {
            example.excludeProperty(excludeProperty[i]);
        }
        if (foreignKey != null && foreignProperty != null && foreignKey.length == foreignProperty.length) {
        	for (int fp=0; fp<foreignProperty.length; fp++) {
        			crit.add(example).createCriteria(foreignProperty[fp]).add(Example.create(foreignKey[fp]).enableLike(MatchMode.ANYWHERE).ignoreCase());
        	}
        } else crit.add(example);
        
        result = crit.list();
        
        if (initialize != null) {
            result = initializeCollectionImp(result, initialize);
        }
        
        return (List)result;
        
    }
    
	private Class getPersistentClass() {
		return EntidadeClass;
	}
}

Empresa.java

public class Empresas implements java.io.Serializable, Entidade {

	// Fields    

	/**
	 * 
	 */
	private static final long serialVersionUID = -1197383787512621216L;

	private Integer emprId;

	private String emprDescricao;

	private Character emprSituacao;

	private Set filiais = new HashSet(0);

	private Set cartoesPostagens = new HashSet(0);

	private Set histEmpresas = new HashSet(0);

	// Constructors

	/** default constructor */
	public Empresas() {
	}

	/** minimal constructor */
	public Empresas(Integer emprId, String emprDescricao, Character emprSituacao) {
		this.emprId = emprId;
		this.emprDescricao = emprDescricao;
		this.emprSituacao = emprSituacao;
	}

	/** full constructor */
	public Empresas(Integer emprId, String emprDescricao, Character emprSituacao,
			Set Filiaises, Set CartoesPostagems, Set HistEmpresases) {
		this.emprId = emprId;
		this.emprDescricao = emprDescricao;
		this.emprSituacao = emprSituacao;
		this.filiais = Filiaises;
		this.cartoesPostagens = CartoesPostagems;
		this.histEmpresas = HistEmpresases;
	}

	/**
	 * @return the cartoesPostagens
	 */
	public Set getCartoesPostagens() {
		return cartoesPostagens;
	}

	/**
	 * @param cartoesPostagens the cartoesPostagens to set
	 */
	public void setCartoesPostagens(Set cartoesPostagens) {
		this.cartoesPostagens = cartoesPostagens;
	}

	/**
	 * @return the emprDescricao
	 */
	public String getEmprDescricao() {
		return emprDescricao;
	}

	/**
	 * @param emprDescricao the emprDescricao to set
	 */
	public void setEmprDescricao(String emprDescricao) {
		this.emprDescricao = emprDescricao;
	}

	/**
	 * @return the emprId
	 */
	public Integer getEmprId() {
		return emprId;
	}

	/**
	 * @param emprId the emprId to set
	 */
	public void setEmprId(Integer emprId) {
		this.emprId = emprId;
	}

	/**
	 * @return the emprSituacao
	 */
	public Character getEmprSituacao() {
		return emprSituacao;
	}

	/**
	 * @param emprSituacao the emprSituacao to set
	 */
	public void setEmprSituacao(Character emprSituacao) {
		this.emprSituacao = emprSituacao;
	}

	/**
	 * @return the filiais
	 */
	public Set getFiliais() {
		return filiais;
	}

	/**
	 * @param filiais the filiais to set
	 */
	public void setFiliais(Set filiais) {
		this.filiais = filiais;
	}

	/**
	 * @return the histEmpresas
	 */
	public Set getHistEmpresas() {
		return histEmpresas;
	}

	/**
	 * @param histEmpresas the histEmpresas to set
	 */
	public void setHistEmpresas(Set histEmpresas) {
		this.histEmpresas = histEmpresas;
	}

	// Property accessors
	

}
Criado 27 de agosto de 2007
Ultima resposta 28 de ago. de 2007
Respostas 2
Participantes 2