03 diciembre 2009

hibernate3:hbm2ddl

hibernate3:hbm2ddl

  1. la solución más fácil para lo del esquema en hsqldb es crear el esquema a mano desde HSQLDB database manager
  2. otra solución sencilla puede ser definir el esquema en orm.xml y eliminarlo de las entities (lo que ponga en el orm.xml sobreescribe lo que ponga en anotaciones)
  3. la solución óptima parece ser eliminar @Table de las entities y declarar el default_schema en persistence.xml, en hibernate.properties y/o en hibernate.cfg.xml
  4. <?xml version="1.0" encoding="UTF-8"?>
    <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
    version="1.0">

    <persistence-unit-metadata>
    <persistence-unit-defaults>
    <schema>hermes</schema>
    </persistence-unit-defaults>
    </persistence-unit-metadata>

    </entity-mappings>

  5. la solución más elegante, aunque mucho más complicada, es aplicar los parches a:
  • src/org/hibernate/dialect/Dialect.java
  • src/org/hibernate/dialect/HSQLDialect.java
  • src/org/hibernate/cfg/Configuration.java

No hay comentarios: