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

Hibernate:获取错误“嵌套异常是org.Hibernate.MappingException:JDBC类型没有方言映射:-15”

狄誉
2023-03-14

使用本机查询时出现异常嵌套异常为org . hibernate . mapping异常:没有JDBC类型的方言映射:-15

我的代码是

String sqlQuery = "select emp_id, name, address, dept from employee  where dept in ( Select dept  from department  where status=:status)";
Map<String, Object> queryParams = new HashMap<>();
queryParams.put("status", "Active");
Query sqlQuery = entityManager.createNativeQuery(query.toString());
queryParams.forEach(sqlQuery::setParameter);
List queryResults = (List) sqlQuery.getResultList(); // This line is throwing exception

我正在使用的数据库是 : SQL服务器 2012.数据库配置是:

spring.datasource.username=testUser
spring.datasource.password=******
spring.datasource.url=jdbc:sqlserver://server:port;databaseName=testDB;
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.hikari.maximum-pool-size=75
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.minimum-idle=10

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.id.new_generator_mappings=false
spring.jpa.hibernate.ddl-auto=none
spring.jpa.properties.hibernate.generate_statistics=false
spring.jpa.properties.hibernate.default_batch_fetch_size=100
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

共有1个答案

岳正浩
2023-03-14

我真的不知道JPA对于员工和部门来说是什么样子,但是我看到你从两个不同的表中选择部门,你需要一些区分这些列的方法。

String sqlQuery = "select emp_id as emp_id  , name as name , address address, dept as dept  from employee  where dept in ( Select dept as dept_department  from department  where status=:status)";

参见下面的问题..Spring Data JPA将本地查询结果映射到非实体POJO

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

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

  • 问题内容: 我在 query.list() 行中收到以下异常: 以下是我的配置文件: 当我尝试在Eclipse IDE中运行应用程序时,不会出现此异常,但是当我创建应用程序jar并运行时,只有我得到了它。提前致谢… 问题答案: 得到了解决方案: 只需更改查询,我将获取整个记录,而不是选择特定的记录。例如 从表 ,然后从表对象获取相应的字段(此处为脚本)值,而不是从表中使用 选择脚本 ,现在工作正常

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

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