Tengo una aplicación de primavera que utiliza JPA (Hibernate) inicialmente creado con Spring Roo. Necesito almacenar cadenas de longitud arbitraria, por lo que por esa razón he anotada el campo con @Lob:cadenas de tienda de longitud arbitraria en Postgresql
public class MyEntity{
@NotNull
@Size(min = 2)
@Lob
private String message;
...
}
La aplicación funciona bien en localhost pero he desplegado a un servidor externo y se un problema con la codificación ha aparecido. Por ese motivo, me gustaría verificar si los datos almacenados en la base de datos PostgreSQL están correctos o no. La aplicación crea/actualiza las tablas automáticamente. Y para ese campo (mensaje) se ha creado una columna de tipo:
texto NO NULO
El problema es que después de almacenar datos si hojeo la mesa o simplemente hacer un SELECT de esa columna No puedo ver el texto, pero los números. Esos números parecen ser identificadores de "algún lugar" donde se almacena esa información.
¿Alguien me puede decir exactamente qué son estos identificadores y si hay alguna forma de poder ver los datos almacenados en una columna @Lob de una pgAdmin o una cláusula select?
¿Hay alguna forma mejor de almacenar Cadenas de longitud arbitraria en JPA?
Gracias.
¿Ha intentado navegar por la base de datos con 'pgAdmin'? ¿Puedes ver el texto en las columnas? (Esto debería funcionar) – beerbajay
@beerbajay Sí, lo he intentado, pero si navego en pgAdmin o simplemente hago un SELECT obtengo lo mismo: números (identificadores) en lugar del texto correcto. – Javi
El 'text NOT NULL' parece correcto, debería poder ver el texto. Así que esto realmente no parece un problema de primavera/hibernación/JPA, pero una base de datos es un problema mal configurado. – beerbajay