Gerar javadoc a partir dos comentarios das tabelas e colunas com hibernate

1 resposta
A

Estou a tentar mostrar como comentário javadoc os comentários das tabelas e colunas de uma base de dados.
Alguma forma de fazer?

Tenho este código SQL definido numa tabela:

SQL

COMMENT ON TABLE "ITEM"  IS 'Table of items';

COMMENT ON COLUMN "ITEM"."CODE" IS 'Code';
COMMENT ON COLUMN "ITEM"."NAME" IS 'Description';
COMMENT ON COLUMN "ITEM"."BLOCKED" IS 'Blocked';

no meu template PojoFields.ftl tenho
PojoFields.ftl

<#foreach property in entitygen.getAllPropertiesIterator()>
   <#if pojo.hasMetaAttribute(property, "field-description")>
	/**
 	 ${pojo.getFieldJavaDoc(property, 0)}
 	 */
   </#if>
   	// código para gerar os campos...
	...

O problema é que pojo.hasMetaAttribute() retorna falso e getFieldJavaDoc() vem vazio.
Já tentei com pojo.getFieldDescription() e o resultado é o mesmo.

Através do OracleMetadataDialect consigo ver que os comentários estão nos REMARKS e são visiveis

public Iterator getColumns(final String catalog, final String schema, final String table, String column)
...
element.put("COLUMN_NAME", rs.getString(1));
element.put("TABLE_SCHEM", rs.getString(2));
element.put("NULLABLE", new Integer(rs.getInt(3)));
element.put("COLUMN_SIZE", new Integer(rs.getInt(4)));
element.put("DATA_TYPE", new Integer(rs.getInt(5)));
element.put("TABLE_NAME", rs.getString(6));
element.put("TYPE_NAME", rs.getString(7));
element.put("DECIMAL_DIGITS", new Integer(rs.getInt(8)));
element.put("TABLE_CAT", null);
element.put("REMARKS", rs.getString(9));
...

Este é o único ponto onde consigo visualizar que os comentarios foram correctamente carregados

Será que deveria de colocar os comentarios noutro local sem ser em REMARKS? Já tentei outros mas não deu…

Estou usando o Hibernate 3.3.2.GA e uma base de dados Oracle

Alguem pode ajudar?

1 Resposta

A

Aparentemente há uma outra forma.

<#foreach property in entitygen.getAllPropertiesIterator()>

		/** 
		<#foreach column in property.columnIterator> 
		<#if column.comment?exists && column.comment?trim?length!=0>
		 * ${column.comment}
		</#if>
		</#foreach>
	 	 */
     // código para gerar os campos...  
     ...
Criado 16 de agosto de 2010
Ultima resposta 17 de ago. de 2010
Respostas 1
Participantes 1