Mysql
 sql >> Base de données >  >> RDS >> Mysql

La requête native JPA pour le champ LONGTEXT dans une vue MySQL génère une erreur

Ce problème est signalé dans HHH-1483 et HHH-3892 . En bref, Hibernate ne sait pas mapper un LONGVARCHAR colonne renvoyée par une requête native.

Ce problème est résolu dans Hibernate 3.5.0+. Pour les versions précédentes, une solution de contournement serait d'étendre le MysqlDialect pour enregistrer le bon Type Hibernate pour 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());
    }
}