Hibernate Tools y PostgreSQL

Llevo una semana renegando de la informática por un problema que estaba teniendo en el trabajo. Me asignan un proyecto bastante simple a nivel de datos (la GUI es un cuento diferente me veré renegando mucho allí también) y me dan la DB con sus entidades ya creadas, con lo cual me digo, genero los POJOs con mi Hibernate Tools y me dedico a hacer mis beans con la lógica que deban tener.
Craso ERROR!!!…
El Hibernate Tools no me estaba generando bien la ingeniería de reverso y me devolvía un error que no podía hacer el discover de la primary key de la tabla, etc., al final se resumía que los POJOs no se podían crear porque el Hibernate Tools no podía ver la estructura de la tabla.

2007-09-04 14:28:20,330 WARN Worker-10 org.hibernate.cfg.reveng.JDBCReader - The JDBC driver didn’t report any primary key columns in Test6. Asking rev.eng. strategy:28:20,486 WARN Worker-10 org.hibernate.cfg.reveng.JDBCReader - Rev.eng. strategy did not report any primary key columns for Test6

Una semana probando de todo(es el tipo serial de la columna del primary key, es la version del PostgreSQL, es el jdbc que esta corrupto, sistema operativo), cambios acá y allá, ninguna solucion parecia ser la adecuada.
Conseguimos un sistema acá que tenia ya postgreSQL montado en Linux y al conectarnos, perfecto veíamos todo sin problemas y generábamos los hbm y los POJOs, pensamos enseguida “el problema es la versión de PostgreSQL en Windows”, creamos unas tablas ahora propias en nuestra DB y…Crash!!!! mismo error, otra vez maldecir todo, etc., etc., hasta que un error de capa 8 (erre un tecla al escribir el nombre de la tabla y puse una letra mayúscula) luego de unas pruebas exitosas creando tablas me dio el patrón, si algo tan simple de que si se encuentra la Tabla con alguna letra mayúscula en su nombre el hibernate tools falla en hacer el discover de la metadata, suena medio ilógico o no se si es un settings del hibernate-cfg que falta, o simplemente es una convencion que estoy violando sin saber, pero al colocar todas las tablas con sus letras en minúscula todo anda perfecto, una semana perdida por algo tan trivial pero que es bueno que si alguien le ha pasado y tiene un porque mas detallado lo comparta con el grupo.


5 Respuestas a “Hibernate Tools y PostgreSQL”

  1. 1 Edgar González

    Esa clase de fallas dan una arrecher….
    Bien que resolviste :-)

  2. 2 Diego Naya

    Postgresql es case sensitive con lo cual no es lo mismo la mayuscula que la minuscula, una posible solucion es envolver en comillas los nombres de schemas, tables y columns.

    Saludos!

  3. 3 Alcides Socarrás

    Buenas tardes Antonio, resulta que me sale el mismo error pero mi base de datos es Informix 7.5, pero no entiendo porque me genera 2 beans por cada tabla, (nombretabla.java y nombretablaId.java), y en el mapeo me genera un composite-id, y cuando deseeo realizar cualquier operacion me dice que nombretablaId.java no lo es una entidad desconocida,

    Te agradeceria cualquier ayuda que me pudieras brindar

  4. 4 German Salinas

    Estimado,

    Con postgresql no puedes designar nombres de tabla con mayuscula. Me paso algo parecido, una semana buscando el error, modifique los nombres de tablas y arreglado.

  5. 5 Felipe

    me hace falta un tutorial de como configurar hibernate tools pa que me genere la ingenieria inversa


RSS feeds

Suscríbete a nuestros RSS Feeds