Foros del Web » Programación para mayores de 30 ;) » Java »

como crear una base de datos con hibernate

Estas en el tema de como crear una base de datos con hibernate en el foro de Java en Foros del Web. Hola! Tengo un proyecto en el que estoy utilizando hibernate. He logrado que funcione todo, pero me falta una cosa y no sé como hacerla. ...
  #1 (permalink)  
Antiguo 21/10/2008, 00:51
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 2 meses
Puntos: 1
como crear una base de datos con hibernate

Hola!
Tengo un proyecto en el que estoy utilizando hibernate. He logrado que funcione todo, pero me falta una cosa y no sé como hacerla.
No sé como se crea una base de datos con hibernate. Tengo mapeadas las tablas, y todo va bien, pero siempre y cuando la base de datos exista previamente (creada por mi con sentencias sql). ¿Algún ejemplo?
Saludos!!
__________________
Si lo supiese no preguntaría...
  #2 (permalink)  
Antiguo 21/10/2008, 08:04
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: como crear una base de datos con hibernate

Hola,

Creo, creo, creo que nada mas porque si, no se puede, ya que hibernate utiliza los mapeos que TU creaste con los beans que TU creaste y con la base de datos que TU creaste.

Pero puedes hacerlo de una forma (no lo he probado, asi es que no se si funcione).

1. Creas un xml por ejemplo "Creabd.hbm.xml" y le agregas lo siguiente:

<sql-query name="creaBD">
<!-- Aqui va el script para crear tu base de datos -->
</sql-query>

2. Agregas ese xml al hibernate.cfg.xml
<mapping resource="Creabd.hbm.xml"/>

3. Para mandar a llamar el query tienes que agregar el siguiente codigo a tu clase:
Query qry = session.getNamedQuery("creaBD")

Habria que ver que tipo de objeto te regresa, solo es cosa de probar.

Nos avisas que paso.

saludos!
  #3 (permalink)  
Antiguo 22/10/2008, 03:12
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: como crear una base de datos con hibernate

Hola!
Hice los dos primeros pasos, pero el tercero no sé donde lo tengo que hacer, porque se supone que lo primero que va a cargar es el contexto de la aplicación, con lo cual va a intentar hacer el mapeo de objetos antes de crear la bd??? estoy un poco perdida con la tercera instrucción. Ayuda!! jeje
Saludos!!
__________________
Si lo supiese no preguntaría...
  #4 (permalink)  
Antiguo 22/10/2008, 07:42
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: como crear una base de datos con hibernate

Hola,

Primero asegurate que funcione, has una clase de prueba y manda a llamar el xml que contiene el script para crear la base, y si es que funciona ya veremos que hacemos despues.

saludos!
  #5 (permalink)  
Antiguo 22/10/2008, 19:43
Avatar de Payin  
Fecha de Ingreso: mayo-2007
Mensajes: 92
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: como crear una base de datos con hibernate

Debe de haber alguna opcion, en JPA la solía utilizar. La investigaré y te aviso. Lo del query está bueno tambien. Nunca se me habría ocurrido
  #6 (permalink)  
Antiguo 23/10/2008, 00:39
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: como crear una base de datos con hibernate

La forma del Query no creo que funcione, ya que al arrancar Hibernate intenta hacer el mapeo y como las tablas no existen todavia, dará error. Es el huevo o la gallina.
Hibernate tiene una opcion para crearte automaticamente la BDD a partir del mapping, aunque no la he usado nunca se de gente que la usa. Como no la he usado nunca no se la sintaxis, pero el manual deberia decirlo.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #7 (permalink)  
Antiguo 23/10/2008, 08:57
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: como crear una base de datos con hibernate

Tienes razon GreenEyed, se me paso eso, de que Hibernate valida los mapeos. Y al igual que tu, nunca he sabido de alguien que lo utilize ni tampoco lo utilizo yo, pero por algo ha de estar.

Y es cierto que existe una forma de crear la base a partir de los mapeos de las tablas, solo tienes que agregar la siguiente linea en el archivo hibernate.cfg.xml

<property name="hbm2ddl.auto">create</property>

Esta linea va antes de que declares los mapeos.

Y tiene los siguientes parametros: validate, update, create, create-drop

Ten en cuenta que si existen datos en tus tablas se borraran y se crearan de nuevo.

saludos!
  #8 (permalink)  
Antiguo 24/10/2008, 00:10
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: como crear una base de datos con hibernate

Esta línea <property name="hbm2ddl.auto">create</property> ya la he probado y a mi no me la crea. Según he leido en el manual, debería crearte el esquema si no existe, pero a mi no me funciona.
Si alguien la crea con esto que me eche un cable. ;)
Saludos!!
__________________
Si lo supiese no preguntaría...
  #9 (permalink)  
Antiguo 24/10/2008, 07:23
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: como crear una base de datos con hibernate

Yo la probe y a mi si me la creo

Borre todas las tablas y Hibernate me las volivio a crear
  #10 (permalink)  
Antiguo 26/10/2008, 12:49
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: como crear una base de datos con hibernate

HOla!
Una cosa...igual me expliqué yo mal.. Yo si borro las tablas también me las crea de nuevo, lo que no hace sería la sentencia "create database x".
Saludos!!
__________________
Si lo supiese no preguntaría...
  #11 (permalink)  
Antiguo 19/03/2012, 12:19
 
Fecha de Ingreso: noviembre-2010
Mensajes: 29
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: como crear una base de datos con hibernate

OK yo lo estoy intentando pero no genera las tablas y no se si el problema sea por que estoy ligando hibernate con spring y el session factory lo tiene spring
  #12 (permalink)  
Antiguo 19/03/2012, 13:32
 
Fecha de Ingreso: marzo-2012
Ubicación: España
Mensajes: 5
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: como crear una base de datos con hibernate

No soy un experto en hibernate, pero hasta donde yo sé es un motor de persistencia que se utiliza para hacer que los objetos que utilizas en la programación estén sincronizados con las tablas del modelo de datos, así que es bastante probable que lo que intentas no sea posible simplemente porque hibernate no se ha pensado para eso.

Creo que si tienes los comandos sería más fácil simplemente conectar a la base de datos y lanzarlos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:59.