gpt4 book ai didi

java - Hibernate - 在 Linux 和 Windows 上的不同行为

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:11:58 25 4
gpt4 key购买 nike

我遇到了一个特殊的问题,即 hql 查询在 Windows 上按预期工作,但在 Linux 上却没有。

这里是查询:

select distinct resource from Resource resource , ResourceOrganization ro 
where (resource.active=true) and (resource.published=true) and
((resource.resourcePublic=true) or ((ro.resource.id=resource.id and
ro.organization.id=2) and ((ro.resource.id=resource.id and ro.forever=true) or
(ro.resource.id=resource.id and current_date between ro.startDate and ro.endDate))))

说明:我正在从数据库中获取资源,这些资源是 Activity 的、已发布的、公开的或与组织共享的,这样共享要么是永久的,要么是在 2 个日期之间。

我在两个数据库中都有相同的数据(从 Linux 导出并在 Windows 中导入)。在 window 上我得到结果大小 = 275

在 Linux 中我得到结果大小 = 0

我查看了 Linux 中的数据,发现我应该得到非零结果大小。

Windows 有 Java 1.5 而 Linux 有 Java 1.6

关于我应该在哪里解决这个问题有什么建议吗?

谢谢!

最佳答案

  1. 在 SQL 命令行工具中,一次输入一个 SQL 短语,然后查看 Linux 版本何时出错。为获得最佳效果,请在 Windows 上执行相同的操作。
  2. 确保生成的 SQL 在 Windows 和 Linux 上是相同的。
  3. 并且您确定他们指的是完全相同的数据库,并且使用相同的登录名? (编辑 - 我重新阅读并看到我有相同的数据 - 你是 Suuuuuure 吗?)
  4. 最后,我看到了:和 ro.organization.id=2 您确定两个系统上的 ID 都是 2 吗?您可能会因为序列号/自动 key ID 的不同而感到兴奋。

关于java - Hibernate - 在 Linux 和 Windows 上的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3910990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com