当前位置: 首页 > 知识库问答 >
问题:

org.hibernate。MappingException:没有JDBC类型的方言映射:1111

艾安和
2023-03-14
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)

我在启动Web服务器时遇到上述错误。我用 enum 映射和 enity 类。类似...

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

是什么问题,我在配置中遗漏了什么吗?谢谢!!

共有3个答案

简滨海
2023-03-14

在您的查询,我认为一些数据类型是作为未知类型检索。请输入转换为您在java bean中使用的适当数据类型。如果您使用Postgres作为您的数据库。在您的java代码中,您可以将其键入转换为例如:选择column_nam所需类型为\"desired_name\"例如:选择type_name:: 文本为\"typeName\"

如果 “::” 这会产生任何问题,请使用 \ \:\ \: 即您正在包含转义字符

蒋招
2023-03-14

尝试在数据库端进行跟踪,在应用程序代码中放置一些断点或添加一些日志条目,以确定是什么查询生成了此错误,即,在错误发生之前正在执行的查询。

获得查询后,尝试通过将语句拆解为小块来缩小根本原因,并查看方言不支持哪种列/变量

秋阳荣
2023-03-14

堆栈跟踪告诉你的是Hibernate正在初始化自己,特别是正在执行< code > configuration . generateschemacreationscript ,它遍历所有映射的表并为它们生成DDL。作为其中的一部分,它查询现有的列,并将它们转换成内部Hibernate表示。它通过调用< code > resultset metadata::get columntype 然后使用结果类型代码调用< code>TypeNames::get来实现这一点。问题是< code>getColumnType返回的类型代码是1111,意思是‘其他’),Hibernate不知道如何处理。

基本上,在您的一个表中的某个地方有一个Hibernate无法处理的列。如果您能确定是哪一列,您可以开始考虑如何处理它。

 类似资料:
  • 我正在开发一个Spring JPA应用程序,使用MySQL作为数据库。我确保加载了所有spring-jpa库、hibernate和mysql-connector-java。 期待您的回答,谢谢! 顺便说一句,应用程序已经在使用spring Boot了。

  • 问题内容: 我正在使用MySQL作为数据库的Spring JPA应用程序。我确保已加载所有spring-jpa库,hibernate和mysql-connector- java。 我正在运行mysql 5实例。这是我的application.properties文件的摘录: 执行集成测试时,spring可以正常启动,但无法创建hibernate的SessionFactory,但以下情况除外: 我认

  • 问题内容: 尽管此标题存在一些问题,但我的查询并没有从那些线程中解决。 我正在通过postgres中的hibernate执行递归查询(与子句一起使用),查询结果也包含搜索路径 例如:查询结果的一行 hibernate状态是否具有String以外的任何映射类型,类似于或。 下面是查询输出的示例 Hibernate抛出异常 原因:org.hibernate.MappingException:没有JDB

  • 虽然这个标题存在一些问题,但我的查询无法从这些线程中解决。 我在postgres中通过hibernate执行递归(使用with子句)查询,查询结果也包含搜索路径 ex:一行查询结果 Hibernate是否具有除字符串以外的的任何映射类型,类似于或。 下面是查询输出的示例 Hibernate正在抛出异常 原因:org.hibernate.MappingException:没有JDBC类型的方言映射:

  • 为了处理运行Kotlin/SpringBoot应用程序时出现的以下错误(完整堆栈跟踪),我一直在咨询一些方法/帖子/堆栈溢出问题: 问题在于用Hibernate映射PostgreSQL的JSONB数据类型。 我广泛尝试和调试的两种方法如下: 实现自定义Hibernate映射并为JSONB创建自定义用户类型。参考文献:这里,这里,这里和这里 使用Hibernate类型。参考文献在这里,这里和这里 我

  • 我有这个结构 车辆品牌 车辆模型 我还想使用Dto对象,因为我想得到一个连接查询,它将从两个表返回数据, ModelDto 我想用jpa执行的查询是 选择vb.id,vm从vehicle_brandvb加入vehicle_modelvm onvb.id=vm.brand_id组vb.id,vb,vm,vm.brand_id; 现在,当我在数据库上执行此命令时,我有1122条记录。但只有85个不同的