java - 组织.hibernate.MappingException : No Dialect mapping for JDBC type: 1111

标签 java hibernate postgresql

Initial SessionFactory creation failed.org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111
    27 Dec, 2012 6:38:34 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet commission threw exception
    org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111
        at org.hibernate.dialect.TypeNames.get(TypeNames.java:79)
        at org.hibernate.dialect.TypeNames.get(TypeNames.java:104)
        at org.hibernate.dialect.Dialect.getTypeName(Dialect.java:347)
        at org.hibernate.mapping.Column.getSqlType(Column.java:208)
        at org.hibernate.mapping.Table.sqlCreateString(Table.java:419)
        at org.hibernate.cfg.Configuration.generateSchemaCreationScript(Configuration.java:930)
        at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:105)
        at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:383)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
        at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
        at com.core.commission.HibernateUtil.<clinit>(HibernateUtil.java:15)
        at com.core.commission.service.BaseCommissionService.saveRules(BaseCommissionService.java:48)
        at com.core.commission.service.BaseCommissionService.processSave(BaseCommissionService.java:22)
        at com.core.web.CommissionServlet.processRequest(CommissionServlet.java:51)
        at com.core.web.CommissionServlet.doPost(CommissionServlet.java:34)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

我在启动网络服务器时遇到上述错误。 我使用了带有实体类的枚举映射。像...

@Column(name = "commission_type")
        @Type(type = "com.core.commission.model.FNEnumUserType", parameters = @Parameter(name = "type", value = "com.core.commission.dto.CommissionType"))
        private CommissionType commissionType;

有什么问题,我是否遗漏了配置中的任何内容?谢谢!!

最佳答案

堆栈跟踪告诉您的是,Hibernate 正在初始化自身,特别是正在执行 Configuration.generateSchemaCreationScript,它遍历所有映射表并为它们生成 DDL。作为其中的一部分,它查询现有列并将它们转换为内部 Hibernate 表示。它通过调用 ResultSetMetaData::getColumnType 来实现。然后调用TypeNames::get与结果类型代码。问题是 getColumnType 返回类型代码 1111,这意味着“other” '), Hibernate 不知道如何处理它。

基本上,您的一个表中的某处是 Hibernate 无法处理的类型的列。如果您能弄清楚那是哪一列,您就可以开始考虑如何处理它。

关于java - 组织.hibernate.MappingException : No Dialect mapping for JDBC type: 1111,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14056093/

相关文章:

java - 包 org.hibernate 可以从多个模块访问 : hibernate. commons.annotations, hibernate.core

java - Spring boot 中的请求是如何生成 JSON 值的?

PostgreSQL - 如何根据 PSQL View 中的公共(public)唯一标识符将 NULL 值替换为来自另一列的值

postgresql - 仅当 Postgresql 中的列不为空时,如何才能强制执行约束?

java - 如何将 postgresql ARRAY_AGG 数据转换为 Java Set

java - 如何在java中导出霍夫曼解码/编码项目的树数据结构?

java - MySQL中逐行添加和多行添加之间最快的是什么

Java将所有转义字符替换为双转义

java - 事务回滚异常

java - 如何使我的 e4 swt 应用程序图标在 Mac Dock 中弹起