Question

Je générer des fichiers de mappage de .hbm.xml et les fichiers .java à partir du schéma DB, avec les outils Hibernate. Ma question est, qui est là une option, pour générer des classes de service aussi? Ce sont les classes où je mets en œuvre le magasin (), trouver (), supprimer (), etc ... méthodes. Je sais que pour C #, il existe de nombreuses solutions pour générer presque tout. Je cherche la même chose, mais avec Hibernate. Y a-t-il?

Était-ce utile?

La solution

Génération de « services » ne fait pas beaucoup de sens pour moi que les services mettent en œuvre généralement la logique métier (que Hibernate ne peut pas générer par magie).

Maintenant, si ce que vous entendez est le code d'accès aux données (c.-à-OTI et la mise en œuvre des méthodes exposant CRUD et viseurs), le Outils Hibernate peut le faire. C'est le code DAO (.java) option sur la capture du Plugin Eclipse ci-dessous:

texte alt http: / /docs.jboss.org/tools/2.0.0.GA/hibernatetools/en/html/images/codegenexporters.png

L'équivalent Ant Task est hbm2dao.

Mais je ne personnellement pas utiliser cette fonction et je voudrais aller duffymo de manière .

Autres conseils

Pas d'option pour générer des services.

Vous devriez être capable d'écrire une seule interface générique DAO et mise en œuvre avec Hibernate.

Comme ceci:

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 Spring pourrait avoir ce que vous voulez.

Vous pouvez mettre en œuvre la couche d'accès aux données par des interfaces tout en déclarant, et avoir ces mises en œuvre en utilisant des procurations JDK, que puis appeler des méthodes mise en veille prolongée. Les détails sont ici - Une couche d'accès aux données simple à l'aide mise en veille prolongée

.

J'ai mis en œuvre cela et il fonctionne bien et a grandi pour répondre à mes besoins. J'ai étendu le module complémentaire (), supprimer () etc .. méthodes aussi des requêtes nommées incude (de findQueryName) et l'utilisation des médicaments génériques, de sorte que tous besoin je faire pour déclarer une interface d'accès aux données de base CRUD est

   public interface SomeObjectDAO extends GenericDAO<SomeObject> {
   }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top