问题标签 [show-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 回答
1278 浏览

sql - NHibernate 没有将 SQL 输出到控制台

我已将 NHibernate 配置为将它生成的 SQL 输出到控制台。我已将以下内容添加到包含我想从 NUnit 运行的集成测试的 DLL 的 app.config 中:

但是,SQL 仍然没有输出到 Console.Out。谁能想到我可能需要设置的另一个设置来查看我的 NHibernate 查询产生的 SQL?

0 投票
2 回答
5930 浏览

eclipse - 在 Eclipse 的 toplink 中显示生成的 SQL

我在 Eclipse 中使用 EclipseLink 库(在开发时)并部署在 TopLink 上,我需要显示生成的 sql 语句。

我正在使用以下persistence.xml:

我知道它应该显示生成的 sql 语句,但事实并非如此。

0 投票
3 回答
8568 浏览

jpa - 如何在没有 Hibernate Envers 的情况下审计 JPA

我需要为我的 Java Web App创建一个审计模块。我使用 EclipseLink,而不是 Hibernate(不能使用 Envers)。我搜索了很多方法来获取 JPA 正在执行的 SQL 或 JPQL,所以我可以记录如下内容:

实际上,我会将这些信息保存到历史数据库的表中。因此,我可以随时轻松检索此信息。这就是为什么“ SHOW SQL ”参数对我来说还不够。我真的需要 SQL 字符串,所以我可以在我的源代码中操作它。

我在 JPA 规范中发现了EntityListener功能,并认为这是放置我的日志记录代码的理想场所。例如,postUpdate 方法可以记录对象的更新时间。但我的问题是我无法执行 SQL。

这是我的意思的一个例子:

但是“object.getSQL()”不存在。那么如何获取 SQL 语句呢?

如果有人能指出我正确的方向,我将不胜感激!

0 投票
1 回答
1549 浏览

hibernate - @NamedQuery 中应用的 TOP 子句

@NamedQuery(name="CustomerMarket.findByMarketId", query="SELECT DISTINCT c.marketid FROM CustomerMarket c WHERE c.marketid LIKE :mask") 在我的类 CustomerMarket 定义中命名了查询。

我想获取 350_000 个结果中的前 1_000 个,所以我应用了 setMaxResult:

执行此查询后,我检查了 server.log 并找到了这个

我有正确的数据,前 1_000 条记录,但我想知道是否应用了 TOP 限制以及在哪里。

这个 TOP 子句是如何处理的?

  1. TOP 应用于 Hibernate 使用的可调用语句,这不会显示在日志中
  2. TOP 在从 DB 接收结果并在 Java 端过滤数据后应用
  3. 或者别的什么

我已经设置了 persistence.xml 和 log4j.properties 来显示几乎所有内容,但我认为没有问题,因为我有 SQL 脚本。

编辑:我在两种情况下(有和没有 setMaxResults)都对性能进行了一些测量,并得到了以下时间:

在没有 TOP 的第一种情况下,我每次选择的平均时间消耗为 1400 毫秒。在实施 TOP 的第二种情况下,我的平均时间消耗约为 150 毫秒。

也有人对我说,这个 TOP 实现可能依赖于使用的 Hibernate 方言(我们使用的是 Sybase)。并且出现在日志中的选择与发送到数据库的选择完全相同。但是在这种情况下,将 350k 结果从结果集(或结果如何存储在 Hibernate 会话中)转换为没有任何元数据的结构 List 需要这么长时间是正常的吗?我可以想象在内部它被转换为:

这似乎没有那么复杂,为什么会有这个时差。可能我很天真,因为 Hibernate 是一个具有很多特性的复杂框架。:-D

0 投票
3 回答
497 浏览

c# - 如何使用 OleDb、C# 执行 SHOW 语句?

尝试按照 c# 代码获取数据库中的所有表名,但我收到一条错误消息:

“System.Data.OleDb.OleDbException (0x80040E14):无效的 SQL 语句;应为“DELETE”、“INSERT”、“PROCEDURE”、“SELECT”或“UPDATE”...”

如何使用 OleDb 执行此类命令?

谢谢 :)

0 投票
2 回答
197 浏览

mysql - 在 mySQL 显示语句中使用“不喜欢”

我有一个根据用户在前面选择的表名dropdownlist填充的。我正在使用以下查询column namesdropdown

SHOW columns from abcTableName LIKE '%name' 哪个有效

我希望所有人都包含除几列之外的所有列名。因此,我想要这样的查询

这是行不通的。甚至

不工作

目前我运行两个循环来获取列名-outer loop传递表名并将inner loop参数传递给需要大量时间的查询。我想优化它。

有人可以建议吗?

0 投票
1 回答
377 浏览

spring-boot - 如何显示/启用在 igniterepository 的 Spring Boot 数据中执行的查询日志?我们有 Apache ignite 存储库的任何特定属性吗?

尝试使用上述属性,但这些都不起作用。

0 投票
2 回答
662 浏览

java - Sl4j 不记录来自 JPA 的 sql 语句

我正在使用 JPA、Hibernate 和 Sl4j 开发一个应用程序。我可以让我的 sl4j 记录 sql 语句。

这是我的代码:

持久性.xml

log4j.properties

但是日志中没有sql语句。既不在控制台中,也不在文件中。