Este problema se informa en HHH-1483
y HHH-3892
. En resumen, Hibernate no sabe cómo mapear un LONGVARCHAR columna devuelta por una consulta nativa.
Este problema está solucionado en Hibernate 3.5.0+. Para versiones anteriores, una solución sería extender el MysqlDialect para registrar el Type correcto de Hibernate para un LONGVARCHAR :
import java.sql.Types;
import org.hibernate.Hibernate;
public class MyMySQL5Dialect extends org.hibernate.dialect.MySQL5Dialect {
public MyMySQL5Dialect() {
super();
// register additional hibernate types for default use in scalar sqlquery type auto detection
registerHibernateType(Types.LONGVARCHAR, Hibernate.TEXT.getName());
}
}