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

没有JDBC类型的方言映射:2003

谭学名
2023-03-14

虽然这个标题存在一些问题,但我的查询无法从这些线程中解决。

我在postgres中通过hibernate执行递归(使用with子句)查询,查询结果也包含搜索路径

ex:一行查询结果

5811;"axyz_3_3";"ABC";5782;5811;5797;4;"**{acl_3_3,acl3_4,acl3,acl_3_3}**";t;t

Hibernate是否具有除字符串以外的“{acl_3_3,acl3_4,acl3,acl_3_3}”的任何映射类型,类似于CHARACTER_ARRAYCHAR_ARRAY

下面是查询输出的示例

id   |name|discri|pId|asscID|immeId|depth|path|cycle|canDelete
5797;"abc3";"abc";5782;5811;5788;7;"{abc_3_3,abc3_4,abc3,abc4}";t;f
5797;"abc3";"abc";5782;5786;5813;6;"{abc1,abc2,abc3,abc3}";t;f
5799;"abc4";"abc";5782;5811;5786;6;"{abc_3_3,abc3_4,abc4}";t;f
5788;"abc2";"abc";5782;5811;5786;6;"{abc_3_3,abc3_4,abc2}";f;f
5786;"abc1";"abc";5782;5786;5799;5;"{abc1,abc2,abc3,abc1}";t;f
5797;"abc3";"abc";5782;5786;5813;5;"{abc1,abc2,abc3,abc3}";t;f
5813;"abc3_4";"abc";5782;5786;5811;5;"{abc1,abc2,abc3_4}";f;f
5786;"abc1";"abc";5782;5811;5799;5;"{abc_3_3,abc4,abc1}";f;f
5813;"abc3_4";"abc";5782;5811;5797;4;"{abc3_4,abc3,abc3_4}";t;f
5811;"abc_3_3";"abc";5782;5811;5797;4;"{abc_3_3,abc3,abc_3_3}";t;t
5799;"abc4";"abc";5782;5811;5797;4;"{abc3,abc4}";f;f

Hibernate正在抛出异常

Caused by: com.vik.prod.service.UnidentifiedException: No Dialect mapping for JDBC type: 2003
at com.vik.prod.service.ServiceExecutorUtils.execute(ServiceExecutorUtils.java:93)
at com.vik.prod.service.ServerServiceExecutor.execute(ServerServiceExecutor.java:76)
at com.vik.prod.service.ClientDelegate.execute(ClientDelegate.java:197)
... 33 more

原因:org.hibernate.MappingException:没有JDBC类型的方言映射:2003

共有3个答案

聂永怡
2023-03-14

使用包'com.vladmihalcea: hibernate-types-52:2.8.0'或将您的数据库方言添加到资源中的yml文件:

@Entity
@TypeDefs({
        @TypeDef(name = "string-array", typeClass = StringArrayType.class),
        @TypeDef(name = "json", typeClass = JsonStringType.class),
        @TypeDef(name = "jsonb", typeClass = JsonBinaryType.class)
})
public class Post implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Type(type = "string-array")
    @Column(columnDefinition = "text[]")
    private String[] tags;
康照
2023-03-14

Hibernate不提供转换器类/映射器类来转换DB text[]数据类型,为此,我们可以编写自己的转换类型来实现UserType,或者使用sqlQuery.addScalar( "path ",Hibernate。正文);我们可以将text[]映射到text,然后在java代码中,我们可以将它从','中分离出来

狄宗清
2023-03-14

这就是我在Spring靴中解决问题的方法:

  1. pom 添加依赖项.xml:
        <dependency>
            <groupId>com.vladmihalcea</groupId>
            <artifactId>hibernate-types-52</artifactId>
            <version>2.11.1</version>
        </dependency>
import com.vladmihalcea.hibernate.type.array.StringArrayType;
import org.hibernate.dialect.PostgreSQL94Dialect;

public class PostgreSQL94CustomDialect extends PostgreSQL94Dialect {

    public PostgreSQL94CustomDialect() {
        super();
        this.registerHibernateType(2003, StringArrayType.class.getName());
    }

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

  • 我正在开发一个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,但以下情况除外: 我认

  • 问题内容: 我正在尝试遵循Hibernate Spatial教程,通过Hibernate将Spring Roo与启用PostGIS的PostgreSQL数据库集成。所有非GIS的东西都可以正常工作,并且我已经从PostGIS模板创建了一个数据库。 问题是,一旦我向其中一个实体添加了Geometry属性,就可以: …构建良好,但是尝试在服务器上运行(并实际上与DB交互)会导致以下错误: Hibern

  • 我在启动Web服务器时遇到上述错误。我用 enum 映射和 enity 类。类似... 是什么问题,我在配置中遗漏了什么吗?谢谢!!

  • 问题内容: 我是hibernate和Java的新手。我正在尝试执行本机sql查询,但是我被卡住了。谁能帮助我或检查我在哪里做错了? 我的Java代码是 : 错误跟踪 : 我确实调试了程序,发现程序中断了 hibernate配置文件: 问题答案: 您需要输入本机sqlquery语法。为了避免使用ResultSetMetadata的开销,或者只是为了更明确地说明返回的内容,可以使用。 像这样: