Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Die native JPA-Abfrage für das LONGTEXT-Feld in einer MySQL-Ansicht führt zu einem Fehler

Dieses Problem wird in HHH-1483 gemeldet und HHH-3892 . Kurz gesagt, Hibernate weiß nicht, wie man einen LONGVARCHAR abbildet Spalte, die von einer nativen Abfrage zurückgegeben wird.

Dieses Problem wurde in Hibernate 3.5.0+ behoben. Für frühere Versionen wäre ein Workaround, den MysqlDialect zu erweitern um den richtigen Hibernate-Type zu registrieren für ein 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());
    }
}