严重: Servlet.service() for servlet action threw exception
org.hibernate.MappingException: No Dialect mapping for JDBC type: -4
at org.hibernate.dialect.TypeNames.get(TypeNames.java:56)
org.hibernate.MappingException: No Dialect mapping for JDBC type: -4
at org.hibernate.dialect.TypeNames.get(TypeNames.java:56)
是因为服务器端的数据类型并不能和Java的数据类型成功映射,于是新建
import java.sql.Types;
import org.hibernate.Hibernate;
import org.hibernate.dialect.MySQLDialect;
public class BlobMySQLDialect extends MySQLDialect {
public BlobMySQLDialect () {
super();
//registerColumnType(Types.LONGVARBINARY, Hibernate.BLOB.getName());
registerHibernateType(Types.LONGVARBINARY, Hibernate.BLOB.getName());
}
}
然后在配置文件中改为
<property name="hibernateProperties">
<props>
<!-- <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> -->
<prop key="hibernate.dialect">
com.temp.BlobMySQLDialect
</prop>
</props>
</property>