Pergunta

Eu gero .hbm.xml Mapeamento de arquivos e .java Arquivos do esquema DB, com ferramentas de hibernação. Minha pergunta é: isso também existe alguma opção para gerar classes de serviço? Essas são as classes em que implemento o Store (), Find (), Delete (), etc ... Métodos. Eu sei que, para C#, existem muitas soluções para gerar quase tudo. Estou procurando o mesmo, mas com Hibernate. Existe alguma?

Foi útil?

Solução

A geração de "serviços" não faz muito sentido para mim, pois os serviços normalmente implementam a lógica de negócios (que o Hibernate não pode gerar magicamente).

Agora, se o que você quer dizer é o código de acesso a dados, isto Ferramentas de hibernação pode fazer isso. Esse é o Código Dao (.java) opção na captura do Plug -in eclipse mostrado abaixo:

TEXTO DE ALT HTTP://docs.jboss.org/tools/2.0.0.ga/hibernateTools/en/html/images/codegenexporters.png

O equivalente Tarefa de formiga é hbm2dao.

Mas eu pessoalmente não uso esse recurso e eu iria Caminho de Duffymo.

Outras dicas

Nenhuma opção para gerar serviços.

Você deve ser capaz de escrever apenas uma interface e implementação do DAO genérico com o Hibernate.

Assim:

package persistence;

import java.io.Serializable;
import java.util.List;

public interface GenericDao<T, K extends Serializable>
{
    T find(K id);
    List<T> find();
    List<T> find(T example);
    List<T> find(String queryName, String [] paramNames, Object [] bindValues);

    K save(T instance);
    void update(T instance);
    void delete(T instance);
}

ROO da primavera Pode ter o que você quer.

Você pode implementar a camada de acesso a dados apenas declarando interfaces e implementando -as usando proxies JDK, que chamam os métodos de hibernação. Os detalhes estão aqui - Uma camada simples de acesso a dados usando hibernato.

Eu implementei isso e funciona bem e cresceu para atender às minhas necessidades. Eu estendi os métodos add (), remover () etc.findQueryName) e uso de genéricos, então tudo o que preciso fazer para declarar uma interface básica de acesso a dados CRUD é

   public interface SomeObjectDAO extends GenericDAO<SomeObject> {
   }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top