Pregunta

Me generar archivos de asignación .hbm.xml y archivos .java partir del esquema de base de datos, con Hibernate Herramientas. Mi pregunta es, que hay alguna opción, para generar clases de servicios también? Estas son las clases donde poner en práctica la tienda (), find (), eliminar (), etc ... métodos. Sé que para C # hay muchas soluciones para generar casi todo. Busco lo mismo, pero con Hibernate. ¿Hay alguna?

¿Fue útil?

Solución

"servicios" Generación no tiene mucho sentido para mí como servicios normalmente implementan la lógica de negocio (que Hibernate no puede generar mágicamente).

Ahora, si lo que quiere decir es el código de acceso a datos (DAO es decir, exponer e implementación de métodos CRUD y buscadores), entonces el Herramientas de Hibernate pueden hacer eso. Esa es la código DAO (.java) en la captura de la Eclipse Plugin se muestra a continuación:

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

El equivalente Hormiga de tareas es hbm2dao.

Pero, personalmente, no utilice esta característica y me gustaría ir duffymo de manera.

Otros consejos

No hay opción para generar servicios.

debe ser capaz de escribir una sola interfaz DAO genérico y aplicación con Hibernate.

De esta manera:

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

Spring Roo podría tener lo que quieres.

Se puede aplicar la capa de acceso de datos mediante las interfaces simplemente declaran, y después de haber implementado el uso de proxies estos JDK, que luego llamar a los métodos de hibernación. Los detalles están aquí - capa de acceso Un simple usando los datos de hibernación

.

Me han implementado este y funciona bien y ha crecido para satisfacer mis necesidades. Extendí el add (), remove (), etc .. a métodos consultas también incude con nombre (findQueryName) y el uso de los genéricos, así que todo lo que necesita hacer para declarar una interfaz básica de acceso a datos CRUD es

   public interface SomeObjectDAO extends GenericDAO<SomeObject> {
   }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top