Spring Roo e Ingeniería Inversa de Base de Datos: problemas con Date en claves compuestas

Cuando se hace ingeniería inversa con el addon DBRE de Roo si se usan claves compuestas en el modelo de datos y en la clave compuesta hay atributos de tipo java.util.Date, se presenta un problema en el código del aspecto CuentaPK_Roo_Identifier.aj generado.

Al atributo de tipo Date le faltan dos anotaciones:

Cuenta.java
@Temporal(TemporalType.DATE)

@DateTimeFormat(style = "S-")

Para solucionarlo hay que llevarse el atributo del aspecto a la clase (con la consola de Roo abierta) para que se regenere el código del aspecto automáticamente.

Si adicionalmente se está utilizando el gestor de base de datos Oracle 10g, las atributos Date dentro de una clave compuesta presentan un problema en las operaciones de consulta por la clave compuesta. Devuelven es esta caso siempre un valor a nulo. Esta problemática se soluciona añadiendo la propiedad:

persistente.xml
<property name="hibernate.connection.oracle.jdbc.V8Compatible" value="true"/>

Para activar las traza de Hibernate que muestra las sentencia SQL que genera el motor de persistencia se introduce el logger en el fichero log4j.properties:

log4j.properties
log4j.logger.org.hibernate.type=trace

Deja un comentario