问题标签 [native-sql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
155 浏览

symfony - 使用联合将查询构建转换为本机 SQL

我使用查询构建原则进行了两次计数查询,但是在我发现有几个重复的查询计数之后,我必须使用 UNION 但在原则查询构建中没有联合。

所以解决方案是使用原生 SQL 和 UNION。

我不知道如何在本地查询中进行翻译

这是我的要求 1

这是我的要求 2

0 投票
0 回答
274 浏览

hibernate - 原生 SQL + Hibernate 多租户

我解释一下我的情况:SpringBoot + Hibernate + Multitenant (DB master + DB for tenant) + Postgressql。我有两种数据源配置,一种用于主数据库,一种用于每个客户端的数据库。

当我需要进行本机查询时,我的问题就开始了。我需要重新启动数据库序列。但我不太清楚如何恢复会话工厂。在我的身份验证中,我识别用户并设置租户持有人

然后,JpaRepository 负责在正确的数据库中执行查询。但是,我怎么能通过执行本机查询来做同样的事情呢?还有另一种方法可以做到这一点吗?

更新

更多代码:

谢谢。

0 投票
1 回答
896 浏览

java - createQuery vs createNativeQuery,更新/删除语句的性能差异

两者之间是否存在性能差异:

如果是,是否足够高以使用一种方法而不是另一种方法?

我正在对休眠和实体框架核心进行性能比较。在 EF 核心中,这种事情只能使用本机 SQL(嗯,有第三方库)来完成,所以我想知道我是否应该为 createNativeQuery().executeUpdate() 切换所有 createQuery().executeUpdate()我的休眠项目。

0 投票
1 回答
159 浏览

hibernate - 如何在本机查询中访问子类实体字段?

我有两个实体类都在关系中。我在下面的代码中跳过注释部分和剩余字段。

当我尝试在本机 sql 查询中访问部门名称时,出现错误未知列。查询是
select * from employee where employee.department.departmentname=?; 我如何访问子类实体?有人请帮帮我。

0 投票
2 回答
86 浏览

java - Spring Boot 无法成功 POST 数据到 db (ORA-00942)

我是 Spring Boot 的新手。我一整天都陷入了创建新数据(POST)的问题。该错误表明我没有成功连接到数据库(ORA-00942)。

由于一些隐私问题,我无法通过我的设备复制粘贴我的作品。因此,我将尽力描述我的逻辑并输入我的部分代码。任何想法都会有很大帮助!太感谢了!

  1. 我这里有五个包,基本上按(1.)SpringBootApplication包,(2.)Repository包(3.)Service包(4.)Controller包(5.)Entity包分类
  2. 基本上,我不会在 (1.)SpringBootApplication 包中进行编辑,它最初保留为默认值。
  3. 在我的 (5.)Entity 包中,我编写了一个与我的数据库匹配的实体类。假设这个实体的类名叫做 TitleOfMyDb。在这里,我已经正确地编写了对应的@id,并且我也正确地编写了setter和getter。
  4. 在 (3.)Service 包中,有一个接口和一个类。类基本上是接口的实现。现在,这是服务类的精简实现。
  1. 在我的 (4.)Controller 包中,我有一个 ExController 类:
  1. 在我的 (2.)Repository 包中,我没有在那里添加更多代码,它也保留了原始代码。因为它已经具有允许我使用存储库保存()我的实体的本能方法。

之后,当我尝试运行我的 spring boot 时,它显示 ORA-00942 错误。另外,当我通过浏览器输入http://localhost:8080/test时,我只能看到错误。错误消息非常复杂,抱歉我真的无法通过我的设备复制粘贴它。基本上,它没有正确连接到我的数据库。非常感谢对我的逻辑和思维过程的任何帮助或指导。谢谢!!!

0 投票
1 回答
1151 浏览

spring - Spring引导数据jpa @Query本机查询的单元测试用例是否可能?

我有一个配置了 JPA 的 Spring Boot 应用程序。在查询数据库时,我在 spring data @query 注释的帮助下运行本机 sql 查询。现在我打算使用 Spring Boot 测试框架编写测试用例。是否可以编写测试?

代码:

测试用例:

错误:

无法提取结果集;SQL [不适用];嵌套异常是 org.hibernate.exception.SQLGrammarException: could not extract ResultSet org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [不适用];嵌套异常是 org.hibernate.exception.SQLGrammarException: could not extract ResultSet at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:281) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible (HibernateJpaDialect.java:255) 位于 org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) 的 org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:528)。

在 org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366) 在 org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:186) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) ... 96 更多原因:org.postgresql.util.PSQLException:错误:缺少 FROM 子句条目表“h1”

0 投票
2 回答
53 浏览

hibernate - 如何在hibernate createSqlQuery中转义'--'?

代码如下:

运行时报错

原因:org.hibernate.QueryParameterException:位置超出了声明的序数参数的数量。请记住,序数参数是基于 1 的!职位:1

被抛出,我知道这是由 sql 字符串中的 '--' 引起的,hibernate 将其解释为 sql 注释,

我尝试使用

这样可以成功运行,但是输出变成\-\-,但是我想要的是--在输出中。

那么如何在hibernate中逃脱'--' createSqlQuery

如果我运行,问题是由 select 子句中的“--”引起的

没有发现问题。

0 投票
1 回答
31 浏览

jpa - 我很难加入 JPA 中不相关的域之间

我在学习JPA的过程中遇到了各种各样的事情,但是我对它太陌生了,所以我想得到一些建议。

我在学习期间陷入的部分分为三个主要类别。你能看看下面的代码吗?

首先,是否可以从使用原生sql时收到的VO中提取test3?

通常,String test1是这样使用的,但我想知道除此之外是否还有其他方法。

其次,如果在VO中可以提取,是否可以根据Test4是否有价值在@QUERY中添加查询?

第三,如果我使用List<Object[]>,是否可以包含执行不在已创建实体中的查询的结果(例如,TEST_TABLE2中的test1,它不在TEST_TABLE1的实体中)?

0 投票
1 回答
41 浏览

hibernate - 带有 SQLNative 和 CustomeType 的 Hibernate 5.2.18 问题

我使用 Spring-orm 4.3.30 。在 Hibernate 5.1.17 中,createSqlQuery 类使用 AbstractQueryImpl,我们可以将 Custom Type 与 prepareStatement 一起使用

例如 :

AbstractQueryImpl :

从 Hibernate 5.2 开始,它使用:NativeQueryImpl

当我们使用自定义类型的 prepareStatement 时。

NativeQueryImpl 尝试使用 SessionFactoryImpl.resolveParameterBindType 解析自定义类型

打电话时:

TypeResolver 中没有自定义类型。

知道@TypDef 不起作用。

知道使用 JPQL,自定义类型与 setParameter 一起使用。

如何注册我的自定义类型并且可以与 Sql 本机查询一起使用?

另一种解决方案是在 QueryParameterBindingsImpl.parameterMetadata 中添加自定义类型,但我再次搜索如何在此 parameterMetadata 中添加此自定义类型。

非常感谢帮助我理解这一点。

0 投票
1 回答
399 浏览

python - 如何使用乌龟 ORM 执行本机 SQL

我想用龟甲ORM来执行原生SQL。我应该怎么办?我找不到这样做的方法或类。