在 eclipse 的 toplink 中显示生成的 SQL

2024-01-06

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

我正在使用以下 persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
    xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    <persistence-unit name="myPUnit" transaction-type="JTA">
        <provider>
            oracle.toplink.essentials.PersistenceProvider
        </provider>
        <jta-data-source>jdbc/dcds</jta-data-source>
        <properties>
            <property name="toplink.cache.shared.default" value="false"/>
            <property name="toplink.logging.level" value="FINE" />
        </properties>
    </persistence-unit>
</persistence>

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


要查看 JPA 查询的 SQL,您可以启用 FINE 或更低级别的日志记录。

要在运行时获取特定查询的 SQL,您可以使用 DatabaseQuery API。

Session session = em.unwrap(JpaEntityManager).getActiveSession(); 
DatabaseQuery    databaseQuery = ((EJBQueryImpl)query).getDatabaseQuery(); 
databaseQuery.prepareCall(session, new DatabaseRecord()); 
String sqlString = databaseQuery.getSQLString();

该 SQL 将包含 ?对于参数。要使用参数翻译 SQL,您需要一个包含参数值的 DatabaseRecord。

Session session = em.unwrap(JpaEntityManager).getActiveSession();
DatabaseQuery databaseQuery = ((EJBQueryImpl)query).getDatabaseQuery();
String sqlString = databaseQuery.getTranslatedSQLString(session, recordWithValues);

Source: 如何获取查询的 SQL http://wiki.eclipse.org/EclipseLink/FAQ/JPA#How_to_get_the_SQL_for_a_Query.3F

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 eclipse 的 toplink 中显示生成的 SQL 的相关文章

  • 如何正确地将MapStruct与Eclipse集成? (包括Lombok java代理)

    我愿意在一些官方项目中使用MapStruct 所以我决定先对其进行一些测试 我需要让它与 eclipse 集成工作 并遵循 MapStruct 网站上提供的所有说明 但是 到目前为止还没有运气 有人成功实现了这种整合吗 如果是的话我可以缺少
  • Eclipse 不从目标平台下载相同版本的最新 jar

    我在 Eclipse IDE Indigo V3 7 2 中遇到一个奇怪的问题 我们使用托管在服务器上的目标平台 该服务器是使用 b3 聚合过程构建的 p2 存储库 我们从不同的团队获得某些组件和功能 每次他们提供插件时 版本号都保持不变
  • 如何在eclipse中打开项目

    我下载了 LISTView 教程的 zip 文件 其中包含所有文件 但我不知道如何在 Eclipse 中打开它 因为它只是打开文件 而不是整个项目 我从这里下载的 http mfarhan133 wordpress com 2010 10
  • egit:设置gitignore忽略所有eclipse项目文件

    我在 github 上有一个项目 我想从中删除所有与 eclipse 相关的文件 并允许克隆它的人使用他们想要的任何 ide 这是该项目 https github com vedi0boy Archipelo https github co
  • 除了前一个按钮意图之外,如何添加另一个按钮意图?

    这是我的代码 它包含一个名为的按钮button1A当我单击它时 它会打开一个名为的列表list1 如何为另一个名为 button2A 的按钮添加代码 该按钮将打开一个列表 List2 import android os Bundle imp
  • Java EE 6 的 Maven 与 Eclipse 项目 Facets

    我在 Eclipse 中使用以下原型创建了 Maven 项目 ejb javaee6 webapp javaee6 这些项目是在没有方面的情况下创建的 将此类 Maven 项目转换为多面形式有意义吗 哪些方面会有帮助 哪些方面可能会给 Ma
  • 在红帽 JBoss Developer Studio (Devstudio) 中使用 Eclipse Marketplace 客户端

    我想问您是否 以及如何 可以在 Red Hat JBoss Developer Studio 10 3 0 GA 中使用 Eclipse Marketplace 我尝试从 1 安装 EMPC 但版本看起来有点旧 之后无法运行 基本上我想将
  • 如何避免Eclipse在将类名放在注释中时导入类,以便checkstyle稍后不会抱怨?

    有时我将类名放在方法或类的注释中只是为了引用 但是 Eclipse 会自动执行导入并在文件中留下导入语句 这会导致稍后出现 未使用的导入 检查样式错误 当我在注释中输入类名时 是否可以更改一些配置以避免 Eclipse 自动导入 人们不同意
  • 升级eclipse后Groovy失败

    最近升级到 Eclipse 2020 12 4 18 0 从那以后 Groovy 就不再工作了 升级了 Groovy 没有任何改进 现在正在运行 展开所有 已安装的内容 树 Eclipse Groovy 开发工具 org codehaus
  • 如何在 Eclipse 中获得完全限定的类名?

    有没有一种快速方法可以在 Eclipse 中单击 Java 类并获取其完全限定名称 或将其复制到剪贴板 2016年6月29日编辑 正如 Jeff 所指出的 您只需要执行以下第二步 1 Double click on the class na
  • 需要 Java 源文件的依赖树

    我需要从大型遗留 Java 代码库中提取一些特定功能 以便将其转换为独立的命令行应用程序 这段代码根本没有文档记录 并且不是很模块化 甚至不是很清晰 所以我很难弄清楚我需要保留什么 基本上我需要的是一棵依赖关系树 列出了这个 java 文件
  • 在 Eclipse Indigo 中安装 ADT 中未找到存储库错误

    当我尝试安装 ADT 时出现此错误 An error occurred while collecting items to be installed session context was profile epp package jee p
  • Eclipse JAVA工具jar不存在

    The archive C Java jdk1 6 0 26 32 lib tools jar which is referenced by the classpath does not exist 这是我运行Tomcat时遇到的错误 清理
  • 如何在Eclipse中制作war文件[重复]

    这个问题在这里已经有答案了 制作war文件的简单方法是什么 当我右键单击 在服务器上运行 时 我的项目正在运行 但我想部署在 tomcat 服务器上 我已经安装了m2clipse但这给了我一个错误 maven是否必须制作war文件 我需要特
  • 将项目导入 Eclipse 后出现“必须重写超类方法”错误

    任何时候我必须将我的项目重新导入到 Eclipse 中 如果我重新安装了 Eclipse 或者更改了项目的位置 几乎全部我的重写方法的格式不正确 导致错误 该方法必须重写超类方法 值得注意的是 无论出于何种原因 Android 项目中方法参
  • Eclipse 错误:“设置构建路径”遇到错误

    我正在使用一个名为 jtwitter 的 API 它有一个 jar 文件 jtwitter jar 我一直在使用它并使用 git 维护它 我把代码托管在github上 有些天 我没有碰过它的代码 今天 当我克隆我的 git repo 时 实
  • java.lang.Object#getClass() 的 Eclipse 外部空注释

    我正在使用 Eclipse Mars 中提供的外部空注释工具 我正在尝试添加外部注释java lang Object getClass 但似乎无法正确签名 我尝试过以下变体 NonNull Class getClass L1java lan
  • Eclipse:如何增加查找/替换历史记录?

    查找 替换对话框显示最后 8 个条目 该对话框通过 Ctrl F 显示 我想增加 查找 和 替换为 输入字段的历史记录中显示的条目数 我必须搜索并替换几个字符串和正则表达式 因此我一次又一次地输入字符串和正则表达式 我并不是指文件内容更改的
  • 为什么 Eclipse 有时会对 JavaScript 中的数组数组发出警告?

    在 Eclipse 中 以下 JavaScript 行 var a1 1 2 3 4 生成警告 Type mismatch cannot convert from Number to any Type mismatch cannot con
  • 配置 Eclipse/EGit 来跟踪上游存储库

    我正在使用 EGit 如新的 Eclipse 4 2 Juno 版本中提供的 我在 GitHub 上有一个存储库 是从另一个上游存储库分叉的 当我从 Github 上的存储库在 Eclipse 中创建项目时 它正确设置origin指向 Gi

随机推荐

  • Bootstrap datetimepicker 禁用分钟

    我正在使用 v4https github com Eonasdan bootstrap datetimepicker https github com Eonasdan bootstrap datetimepicker 现在我试图禁用时间选
  • mongoid 更新数组中的元素

    我正在将 mongoid 3 1 与 Ruby 1 9 3 结合使用 并尝试更新数组中的值 我可以在 mongodb 的 CLI 中成功执行以下命令 但似乎找不到适用于 mongoid 的解决方案 翻译 user update activi
  • 是否存在与堆内存分配相关的内存开销(例如堆中的标记)?

    特别是在 Windows 上使用最新的 Visual Studio C 编译器来考虑 C 我想知道heap执行 假设我使用的是发布编译器 并且我不关心内存碎片 打包问题 是否存在与在heap 如果是这样 每个分配大约有多少字节 会不会更大一
  • λProlog 拒绝假设推理查询?

    我怀疑 Prolog 的主要实现 teyjus 可能有点废弃软件 但 Prolog 是一个令人着迷的 Prolog 它应该让你使用高阶逻辑 假设推理和其他东西 这就是为什么我试图用它 文件 example sig sig example k
  • 使用 NSAlert 处理按下哪个按钮的正确方法是什么

    我已经添加了两个按钮NSAlert对象 目前按钮一的返回码是1001 并且按钮默认为1000 我需要有效地确定按下给定警报中的哪个按钮 而无需使用幻数 否则会变得混乱 void showErrorMessage NSString error
  • Cloudfoundry 是否支持需要更大内存的应用程序?

    我一直在使用 grails 开发一个网站并使用 Cloudfoundry 对其进行演示 Grails 和 Cloudfoundry 太棒了 在 STS 中 grails 插件和工具的支持下 它们易于使用 我的应用程序使用 MySQL Mon
  • 用 Javascript 对象替换窗口或文档对象

    有没有办法替换 窗口 或 文档 对象 我基本上想要的是提供某种 JavaScript 代理 我想防止用户在页面上获取 一些 只有一些 这很重要 DOM 元素 我所说的 用户 是指任何第三个小馅饼脚本 我可以做这个 document getE
  • VBA 正则表达式中的后向查找?

    有没有办法在 VBA 正则表达式中进行负向和正向向后查找 如果字符串以 A 开头 我不想匹配 所以我目前正在模式的开头执行 A 然后删除 match 0 的第一个字符 显然不是最好的方法 我正在使用 regExp 对象 VBA 提供前瞻 正
  • 计算移动设备实际行驶的距离[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想计算移动设备 iOS 和 Android 实际行驶的距离 我知道通过谷歌地图API 我们可以找到2个坐标之间的最佳路线距离 但我想
  • 如何对给定点之间的直线的所有像素位置进行采样?

    我正在做一个项目 其中包括画一条线 但是 最重要的是我需要在每个 X 位置上获取 Y 位置 因此 对于每个 X 我都需要一个 Y 当我缓慢绘制时 绘制一条线并获取位置效果很好 但是当我更快地移动光标时 即使绘制了线 也不会保存每个 X 的位
  • Python 中的凯撒密码函数

    我正在尝试在 Python 中创建一个简单的凯撒密码函数 该函数根据用户的输入移动字母 并在末尾创建一个最终的新字符串 唯一的问题是 最终的密文仅显示最后一个移位的字符 而不是包含所有移位字符的整个字符串 这是我的代码 plainText
  • 使用 jest 模拟 aws-sdk S3#putObject 实例方法

    对于包含以下内容的源代码 const S3 require aws sdk s3 clients const s3 new S3 s3 putObject params callback 我添加了以下模拟基于本文 https faceboo
  • 是否可以在 php 中更改 $_['http_referer'] ? [复制]

    这个问题在这里已经有答案了 可能的重复 PHP 引用重定向脚本 https stackoverflow com questions 857427 php referer redirect script 例如 我希望制作改变浏览器 http
  • 为什么android sdk中默认的proguard配置使用keep *注释*

    android sdk默认的proguard配置中有一行 keepattributes Annotation 根据 Proguard 手册 这一行等于 keepattributes RuntimeVisibleAnnotations Run
  • Excel VBA 工作表和文本框中的日期出现错误

    我住在澳大利亚 我们使用 d mm yyyy 日期格式 我正在尝试在 Excel 中使用 VBA 创建一个用户窗体 它将读取单元格 A1 并将其显示在文本框中 然后 用户可以在另一个文本框中输入日期并将该日期设置回单元格 A1 我遇到的问题
  • 用于管理推送通知的 iOS API

    这个可能性不大 但是是否有任何公共 或私有 API 允许我们读取 iOS 设备上现有的推送通知 例如 在后台运行的应用程序是否可以每隔 X 秒轮询一次系统 以确定设备是否已收到来自 Stack Exchange 应用程序的推送通知并获取其内
  • boost::program_options - 如何处理 INI 文件中具有相同名称的多个部分

    在如下配置中 有没有办法处理各个部分 我正在寻找一种以可靠的方式验证下面各个 服务器 部分的方法 basic number of servers 3 server ip 10 20 30 40 password sdfslkhf serve
  • 在 AngularJS 中对 ui.router 的解析执行 $http get 请求可以吗?

    我有以下代码 如下 它们非常适合我并且至少满足我的需要 但我对此有点怀疑 我有一种感觉 这太好了 令人难以置信 因为我正在挣扎 http的异步行为这对我使用来自的响应对象有很大帮助 http在控制器上全局请求 我只是想知道它是否是正确的方法
  • InkWell 小部件需要 Material 小部件祖先

    我在 Row 中添加 InkWell 作为小部件 但它抛出了一个错误 flutter EXCEPTION CAUGHT BY WIDGETS LIBRARY flutter The following assertion was throw
  • 在 eclipse 的 toplink 中显示生成的 SQL

    我在 eclipse 中使用 EclipseLink 库 在开发时 并部署在 TopLink 上 我需要显示生成的 sql 语句 我正在使用以下 persistence xml