Frage

I erzeugen .hbm.xml Mapping-Dateien und .java Dateien aus dem DB-Schema, mit Hibernate-Tool. Meine Frage ist, dass es eine Möglichkeit, Serviceklassen auch zu generieren? Dies sind die Klassen, in denen ich den Laden () implementieren, finden (), delete (), etc ... Methoden. Ich weiß, dass es für C # gibt viele Lösungen für fast alles zu generieren. Ich suche nach dem gleichen, aber mit Hibernate. Gibt es irgendwelche?

War es hilfreich?

Lösung

Generieren „Dienste“ nicht viel Sinn für mich machen, wie Services in der Regel Geschäftslogik implementieren (das Hibernate kann nicht auf magische Weise erzeugen).

Nun, wenn, was Sie meinen, ist Datenzugriffscode dh DAOs (Belichtungs- und Durchführung CRUD Methoden und Finders), dann die Hibernate Werkzeuge das tun kann. Das ist der DAO-Code (.java) Option auf die Erfassung der Eclipse-Plugin unten dargestellt:

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

Die äquivalente Ant-Task ist hbm2dao.

Aber ich persönlich diese Funktion nicht nutzen, und ich würde gehen duffymo der Art und Weise .

Andere Tipps

Keine Option Dienste zu generieren.

Es soll möglich sein, nur eine generische DAO-Schnittstelle und Implementierung mit Hibernate zu schreiben.

Wie folgt aus:

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);
}

Frühling Roo könnte, was Sie wollen.

Sie können nur deklarieren Schnittstellen der Datenzugriffsschicht implementieren, und haben diese mit JDK Proxies implementiert, dass dann Hibernate Methoden aufrufen. Die Details sind hier - Eine einfache Datenzugriffsschicht mit Hibernate

.

Ich habe dies umgesetzt und es funktioniert gut und hat meine Bedürfnisse gewachsen zu erfüllen. Ich erweiterte die add (), remove () etc .. Methoden auch incude benannten Abfragen (findQueryName) und die Verwendung von Generika, also alles was ich brauche eine grundlegende CRUD Datenzugriffsschnittstelle ist

zu erklären, zu tun
   public interface SomeObjectDAO extends GenericDAO<SomeObject> {
   }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top