Skip to content

ghusta/pagila-db-hibernate-reveng

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hibernate Tools - Reverse Engineering for Pagila DB (PostgreSQL)

Build Status

Maven command

mvn clean generate-sources -Pgen-hibernate-tools

As a result, code will be generated in target/generated-sources/hibernate.

Running the database server

You can use a docker container, like this one :

docker run -d -pxxxx:5432 --name pagila-db mujz/pagila

Templates (FreeMarker)

  • pojo : pojo/Pojo.ftl
  • dao (repository) : dao/JpaRepository.ftl

Tips

TODO: Force use of object types for @Id and not primitive types

See org.hibernate.tool.hbm2x.Cfg2JavaTool.PRIMITIVES

Defining sequence mapping

Use something like

    <primary-key>
        <!-- See : org.hibernate.id.enhanced.SequenceStyleGenerator.SEQUENCE_PARAM -->
        <generator class="sequence">
            <param name="sequence_name">category_category_id_seq</param>
        </generator>
        <key-column name="category_id"></key-column>
    </primary-key>

The name of the param must be one of the constants defined here : SequenceStyleGenerator.
The code generation can be explored there : org.hibernate.tool.hbm2x.pojo.EntityPOJOClass#generateAnnIdGenerator().

Logging

Add system property :

-Dorg.slf4j.simpleLogger.log.org.hibernate.cfg.reveng=debug

External references