My current setup using hibernate uses the hibernate.reveng.xml
file to generate the various hbm.xml
files. Which are then turned into POJOs using hbm2java
. We spent some time while designing our schema, to place some pretty decent descriptions on the Tables and there columns. I am able to pull these descriptions into the hbm.xml
files when generating them using hbm2jhbmxml
.
So I get something similar to this:
<class name="test.Person" table="PERSONS">
<comment>The comment about the PERSONS table.</comment>
<property name="firstName" type="string">
<column name="FIRST_NAME" length="100" not-null="true">
<comment>The first name of this person.</comment>
</column>
</property>
<property name="middleInitial" type="string">
<column name="MIDDLE_INITIAL" length="1">
<comment>The middle initial of this person.</comment>
</column>
</property>
<property name="lastName" type="string">
<column name="LAST_NAME" length="100">
<comment>The last name of this person.</comment>
</column>
</property>
</class>
So how do I tell hbm2java
to pull and place these comments in the created Java files?
I have read over this about editing the freemarker templates to change the way code is generated. I under stand the concept, but it was not to detailed about what else you could do with it beyond there example of pre and post conditions.
The usual way to add javadoc in generated POJOs is to use
meta
tags, like in this sample:So, to get something similar but including the comments of your tables and columns, my understanding of the Javadoc Comments in POJOs thread is that you'd have to modify the templates used to generate hbm files.
To do so, look at the freemarker templates of hibernate-tools.jar,
hbm/persistentclass.hbm.ftl
,hbm/property.hbm.ftl
, etc (this is not an exhaustive list) and modify them.For example, in
hbm/persistentclass.hbm.ftl
, instead of:I guess that you could do:
And so on.