Re: conectar desde Java

From: "Marco Castillo" <mabcastillo(at)gmail(dot)com>
To: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: conectar desde Java
Date: 2008-08-07 17:32:10
Message-ID: 47f6f3240808071032t281a713dl80d0378172b6d8f5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Estimado Edgar:
Vamos a tratar de desenmarañar esto de los ORM y los JPA y todas las demás
siglas que nos fascinan usar en el mundo de Java. Bueno, hay un standard
para manejar la persistencia de Datos en Java. Este estandar es JPA (Java
Persistance API). Ahora, antes de que existiera JPA, empezaron a existir ORM
(Object-Relational Mapping) escritos en Java, como Hibernate. La idea de una
librería como Hibernate o de JPA, es que veas una base de datos relacional
como Postgres desde un punto de vista de objetos. Con Hibernate ya no ves la
bd como un conjunto de tablas y tuplas, sino como colecciones de objetos.
Realmente, y te lo digo por experiencia, el uso de Hibernate y de librerías
de persistencia hace mucho más fácil el manejo de la data desde el punto de
vista de programación orientada a objetos.
Ahora, respondiendo tus preguntas:
1. Nop, de ninguna manera JPA sustituye al DBMS. JPA solamente constituye
una capa lógica de software que te hace ver las bd's relacionales como bd's
orientadas a objetos, pero nada más. Las transacciones las sigue manejando
el DBMS, así como el acceso a los datos. De hecho, en el fondo de cualquier
implementación de JPA (se me olvidaba decirte que JPA al ser un estandard
per se, permite que se hagan implementaciones, Hibernate hizo una de tantas
que hay en el mercado) se encuentra JDBC y siempre vas a necesitar un driver
de JDBC nativo para la DBMS que vayas a utilizar (por cierto, el driver de
JDBC de postgres es uno de los mejores que hay en el mercado, te lo digo por
experiencia).
2. Bueno, si usas algún IDE de Java, como Eclipse o Netbeans, para ambos hay
plugins tanto para Hibernate, como para Toplink como para implementaciones
de JPA para hacer reingenieria reversa desde una bd existente de los POJOS y
los archivos de metadata que se necesitan para describir una bd utilizando
estas librerias.
3. Esto es lo mejor de la capa de persistencia. Por ejemplo, en el caso de
Hibernate, que es lo que yo he usado extensivamente, si generas la metadata
de una manera que no se ajuste a alguna base de datos en particular (cosas
como la especificación de esquemas, catálogos, etc), entonces, y si por
supuesto tienes cuidado al programar, y no utilizas mucho stored procedures,
etc, cosas muy propietarias de la bd, entonces: el código que haces lo
puedes utilizar para cualquier DBMS relacional!!!!. Igual, esto yo lo he
probado y funciona muy bien. Rapidamente te cuento, mi empresa esta
levantando de nuevo el sistema de Gestion de Casos del Ministerio Público
(MP) de mi país. En el MP utilizan Sybase ASA para las bases de datos de las
Fiscalias y ASE para las bases de datos centrales. Debido a problema de
licenciamientos (es el gobierno!!) para desarrollar el nuevo sistema usamos
PostgreSQL. Usando una capa de persistencia como Hibernate, hemos podido
desarrollar el sistema sobre Postgres y luego probarlo en producción sobre
ASA y ASE, sin un sólo cambio en el código escrito!!
En conclusión, usa persistencia, es complicado y doloroso al principio, pero
luego que dominas el arte, te ahorra años en el desarrollo. Espero que estas
líneas te hayan servido de algo.

Saludos

Marco

2008/8/5 Edgar Enriquez <edgarpostgres(at)yahoo(dot)es>

> Gracias German, mi problema es que tengo que hacer una aplicación con un
> cliente web y un cliente swing, pero aún no comprendo muy bien la parte del
> mapeo objeto-relacional y JPA, porque aveces se refieren a JPA como una
> librería y aveces como una especie de standard que se implementa por un
> framework como Toplink e Hibernate, glassfish utiliza por default toplink y
> parece que se puede modificar para que utilice hibernate, pero yo no
> entiendo muy bien algunas cosas:
>
>
> 1. el jpa sustituye al dbms, quiero decir según la documetacion maneja
> las transacciones y el acceso a los datos
> 2. No he encontrado un ejemplo de como mapear una bdd ya existente, en
> los ejemplo mencionan que es posible pero más dificil, asi que siempre ponen
> un ejemplo de como generar la base desde java (que en mi caso no es
> funcional)
> 3. Y por último una pregunta me surge, si se utiliza glassfish-toplink
> o glassfish-hibernate entonces ¿vale la pena utilizar un dbms como postgres,
> o es mejor utilizar mysql, ya que de todas formas el jpa va a manejar las
> transacciones y va a asegurar que sea una base de datos ACID?
>
>
> Feliz dia
>
> ----- Mensaje original ----
> De: German Salinas <gs(dot)salinas(at)gmail(dot)com>
> Para: Fernando Aguada <fernandoaguada(at)yahoo(dot)com(dot)ar>
> CC: Edgar Enriquez <edgarpostgres(at)yahoo(dot)es>; Lista Postgresql <
> pgsql-es-ayuda(at)postgresql(dot)org>
> Enviado: sábado, 2 de agosto, 2008 16:32:22
> Asunto: Re: [pgsql-es-ayuda] conectar desde Java
>
> Estimado,
>
> Tengo algo de experiencia con J2EE,Postgresql y AJAX cualquier duda sobre
> como aplicar esta tecnologia me escribes a mi correo gs(dot)salinas(at)gmail(dot)comy si puedo ayudarte lo hare con todo gusto.
>
> Hago extensiva esta invitacion a cualquier hermano del OPEN SOURCE..
>
> Un saludo,
> German Salinas
>
> El 2 de agosto de 2008 7:29, Fernando Aguada<fernandoaguada(at)yahoo(dot)com(dot)ar>
> escribió:
>
>> Hola
>> JPA, Hibernate son framework de persistencia, lo que hacen es
>> proveer una capa que conecta con un motor de bases de datos cualquiera, de
>> esta manera, podrias cambiar de un motor de datos a otro sin que te veas en
>> la necesidad de cambiar nada en tu aplicacion.
>> Al menos asi lo entiendo yo.
>>
>> Saludos Cordiales.
>>
>>
>> ----- Original Message ----- From: "Edgar Enriquez" <
>> edgarpostgres(at)yahoo(dot)es>
>> To: "Marco Castillo" <mabcastillo(at)gmail(dot)com>; "lista postgres" <
>> pgsql-es-ayuda(at)postgresql(dot)org>
>> Sent: Saturday, August 02, 2008 6:39 AM
>> Subject: Re: [pgsql-es-ayuda] conectar desde Java
>>
>>
>>
>>
>>
>> yo también nececito crear una aplicación java para conectarme a una BDD
>> postgres, actualmente tengo todo sobre JDBC, pero para utilizar crear un
>> servidor me digeron que nececito instalar Glassfish y crear allí las
>> conexiones pero luego se habla de JPA, Hibernate y toplink (que
>> aparentementa hacen lo mismo) pero al final la conexión la termina haciento
>> el JDBC de postgres, alguien sabe cual es la diferencia? porque además
>> parece que glassfish maneja la concurrencia (algo que tradicionalmente se
>> hace en Postgres)
>>
>> Saludos a todos y gracia por sus respuestas
>>
>>
>>
>> ----- Mensaje original ----
>> De: Marco Castillo <mabcastillo(at)gmail(dot)com>
>> Para: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
>> Enviado: viernes, 1 de agosto, 2008 21:04:54
>> Asunto: Re: [pgsql-es-ayuda] conectar desde Java
>>
>>
>> Pues la idea del foro es aprender y ayudarnos mutuamente (mi percepción
>> personal). Aca habemos varios que trabajamos en Java y en PostgreSQL. Haz
>> tus preguntas aca y te echamos una mano.
>>
>> Saludos
>>
>> Marco
>>
>>
>> 2008/8/1 Fabio Arias <fharias(at)gmail(dot)com>
>>
>> Cualquier cosa que necesitas sobre java+postgresql me escribes con mucho
>> gusto te ayudaré
>>
>> Bye
>>
>>
>> El 1 de agosto de 2008 9:50, Gabriel Ferro<gabrielrferro(at)yahoo(dot)com(dot)ar<gabrielrferro(at)yahoo(dot)(dot)com(dot)ar>
>> >escribió:
>>
>> ok, mil gracias a todo. logre hacerlo, aunque me cuesta, considerando que
>> no se nada de java y soy de la vieja escuela donde objetos y clases no
>> existian.
>> ¿alguien conoce una lista buena de java+postgre en español?
>>
>>
>> ________________________________
>>
>> ¡Buscá desde tu celular!
>> Yahoo! oneSEARCH ahora está en Claro
>> http://ar.mobile.yahoo.com/onesearch
>>
>>
>> --
>> Fabio Hernando Arias Vera
>> Cel. 314 411 7776
>>
>>
>> ______________________________________________
>> Enviado desde Correo Yahoo! La bandeja de entrada más inteligente.
>> --
>> TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo
>> agradecerán
>>
>
>
> ------------------------------
>
> Enviado desde Correo Yahoo!<http://us.rd.yahoo.com/mailuk/taglines/isp/control/*http://us.rd.yahoo.com/evt=52431/*http://es.docs.yahoo.com/mail/overview/index.html>
>
> La bandeja de entrada más inteligente.
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2008-08-07 18:20:56 Re: Bloqueo de tablas
Previous Message Yoel Mc Lennan 2008-08-07 17:20:36 Re: Obtener las ultimas versiones de un conjunto de registros