如何从 JPQLQuery 获取 SQL 字符串
我正在使用 EclipseLink。
我有一个 JPQLquery,我想获取 sql 字符串.. 现在我正在这样做:
EJBQueryImpl qi = (EJBQueryImpl)jpqlQuery;
String sqlQueryString = qi.getDatabaseQuery().getSQLString();
问题是在 sqlQueryString 中,常量被替换为 ?
我尝试获取导航表达式树的值(getSelectionCriteria()
和 getHavingCriteria()
),但通过这种方式我失去了类型
...有这样的问题吗?
I'm using EclipseLink.
I've a JPQLquery and I want to get the sql String..
Now I'm doing in this way:
EJBQueryImpl qi = (EJBQueryImpl)jpqlQuery;
String sqlQueryString = qi.getDatabaseQuery().getSQLString();
The problem is that in the sqlQueryString the constant are replaced with ?
I've tried to get the values navigating the expressions trees (getSelectionCriteria()
and getHavingCriteria()
) but in this way I loose the type...
Do any one ever have a problem like this one?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
引自 EclipseLink 常见问题解答:
Quoted from the EclipseLink FAQ:
这是一个有效的方法:
Here is a method that works: