2010-09-27 50 views

Respuesta

5

¿Hay alguna manera de especificar comentarios SQL a través de anotaciones JPA? Comentarios para tablas y columnas.

No. Si desea definir los comentarios de tablas y columnas, su mejor opción es hacerlo después de los hechos en el DDL generado, antes de ejecutarlo en su base de datos.

4

Hay una manera, al menos para MySQL. Depende de tu motor de base de datos. Para MySQL, puede agregar el comentario a columnDefinition. Aquí se muestra un ejemplo de una columna:

/** 
* Database id. 
*/ 
@javax.persistence.Id 
@javax.persistence.GeneratedValue(strategy = javax.persistence.GenerationType.AUTO) 
@javax.persistence.Column(columnDefinition = "SMALLINT UNSIGNED COMMENT 'The KEY obviously'") 
private Long id; 

Como se puede ver el comentario ('La CLAVE obviamente') forma parte de la definición de la columna. Pero no es una JPA estándar, ya que necesita cambiarla si cambia el motor de la base de datos. De la misma manera debe cambiar la definición de columna si usa un tipo de SQL no estándar y cambia el motor de la base de datos.

+0

Me funcionó. Gracias. Aquí está mi código. Espero que ayude a alguien: '@Column (columnDefinition =" INT (11) NOT NULL COMMENT '0 para ninguna acción, 1 para ejecutado, 2 para validado, 3 para aprobado' ") \t int privado;' – masterdany88

+0

cómo se puede hacer si es un varchar? –

1

Las normas (http://savage.net.au/SQL/) no parecen definir ninguna forma de definir los comentarios de tabla o columna (parece que ni siquiera los mencionan). Entonces, la sintaxis para comentarios en tablas/columnas puede variar de un DBMS a otro. Creo que es por eso que JPA no ofrece una forma genérica de hacerlo

Cuestiones relacionadas