问题标签 [ejbql]
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.
java - Hibernate(JPA)如何进行急切查询,加载所有子对象
关于我之前的问题,我想确保加载所有子对象,因为我有多个线程可能需要访问数据(从而避免延迟加载异常)。我知道这样做的方法是在查询(EJB QL)中使用“fetch”关键字。像这样:
假设一个模型有一个Order
类,其中有一组OrderLines
。
我的问题是似乎需要“distinct”关键字,否则我似乎会得到一个Order
for each OrderLine
。我在做正确的事吗?
也许更重要的是,有没有办法拉入所有子对象,无论多深?我们有大约 10-15 个类,对于服务器,我们需要加载所有内容......我避免使用FetchType.EAGER
,因为这意味着它总是渴望,特别是 Web 前端加载所有内容 - 但也许这是要走的路 - 是你做什么?我似乎记得我们之前尝试过这个然后得到非常慢的网页 - 但这也许意味着我们应该使用二级缓存?
java - 如何使用 EJBQL 选择实体集合并将其作为参数传递给 bean?
我正在从 JPA 数据存储中进行一些奇怪的报告。
我需要选择(使用 EJBQL)对象列表。这些对象包含实体的集合。我有一个由以下构造的类:
(注意第三个参数是一个列表)
我想使用GROUP BY
, fetching选择这些 bean 的列表listParam
,所以我想编写一个像这样工作的查询:
以便将分组的实体提取到列表中并插入到第三个参数中。是否可以这样做,或者我必须创建两个查询来选择不同的param1
and对param2
;并分别获取具有适当参数值的所有实体?
java - 在 JPQL 中选择 nvl(max(c.EmployeeId),0)?
我正在使用 oracle10g 数据库和 eclipselink,我需要从表中获取最后插入的键,所以我创建了这个查询
但是当表是空的(有时它可能会变空)时,我得到了 ILEGAL ARGUMENT EXCEPTION,原因:JPQL 异常,详细信息:“在 EntityManager 中创建查询时发生异常”。我做错了什么?
java - SEAM ENTITYQUERY - 限制 seam-gem 示例的问题
我的项目最初是由 seam-gen 生成的,并且动作“List”bean 没有像我预期的那样工作。限制数组具有表中的所有属性,并且表现得好像所有参数都是必需的。请参阅下面的列表:
例如,当我在表单中填写“Placa Unica”字段时,会生成一个包含所有字段的 sql,如下所示:
我不想在查询中输入未填充的字段(空)。我没有找到任何关于“动态限制”的例子,或者用 EntityQuery 做到这一点的另一种方法
data-structures - 保存 HQL 或 EJB QL 的数据结构
我们需要生成一个相当复杂的动态查询构建器来动态检索报告。对于哪种数据结构最好,我们有点摸不着头脑。
它实际上只不过是持有一个 selectParts 列表、一个 fromParts 列表、一个 where 标准列表、order by、group by 之类的东西,用于持久性。当我们开始考虑连接,尤其是外连接、有子句和聚合函数时,事情开始变得有点模糊。
我们现在首先构建它的接口并尝试尽可能远地思考,但是当我们发现我们的结构存在限制时肯定会经历一系列重构。
我在这里发布这个问题是希望有人已经提出了一些我们可以作为基础的东西。或者知道一些图书馆或类似的图书馆。在我们下周深入实施之前,最好能获得一些关于潜在问题的提示或提示。
regex - 是否可以使用正则表达式测试 JPA/EJB QL 语句?
我不是正则表达式方面的专家,所以我想我会抛出这个问题。我认为正则表达式可以帮助我的测试更加健壮(测试生成的 EJB QL 语句以正确生成)。
例如:
select u.firstName, u.lastName from Users u where u.age > 50
我使用什么正则表达式将其拆分为以下内容?
- "u.firstName, u.lastName"
- “用户你”
- “u.age > 50”
无论关键字的大小写(即 SELECT、Select、select、...)以及关键字前后可能存在的空格如何?当然,进一步拆分它会更好,但是如果我可以像上面的例子那样拆分部分,我可以改进我的测试。
提前感谢您的任何指示和帮助。
java - 使用 Java/EJB 2.x 在 Oracle 上按日期(1916 年 5 月 1 日)查询记录
我有一个 EJB 2.1 实体 bean,它查询 Oracle 表中的“出生日期”列。数据库中的列是 DATE 类型。除了一个特定的日期:1916 年 5 月 1 日,查询工作没有问题。
这与夏令时有关。Oracle 将日期存储为:5/1/1916 1:00:00 AM,而所有其他日期的时间设置为 12:00:00 AM(例如 1/7/1971 12:00:00 AM)。
在生产/接受系统上,1916 年 5 月 1 日的查询(使用 EJB-QL!)没有返回任何结果。奇怪的是它确实适用于我的开发/测试系统。我检查了各种系统上的数据库设置,发现 DBTIMEZONE 参数在开发/测试框上设置为 +00:00,在生产/接受框上设置为 +02:00。但是,将时区更改为 +02:00 不会产生任何差异。
什么可能导致这种行为?如何搜索这个出生日期?
java - 对象内的 EJB-QL 查询列表
我正在尝试编写一个简单的(我希望是)EJB-QL 查询。
这是我的对象:
如何搜索最小容量的房间?一个房间可以有多种配置,每种配置都有不同的容量。
java - 我可以通过未映射到数据库列的函数在 EJBQL 中排序吗?
我想通过使用类属性的函数订购查询。就像是:
和句子类似:select n from A order by name.StringLength()
。是否可以?
hibernate - 遍历四个多对一关系级别的 ejbql 查询的正确语法是什么
我在 JPA(休眠)中有一个简单的数据模型,由多对一和一对一的关系组成,类似于:
城镇 -> 州 -> 州长 -> 国家 -> 大陆
城镇与州是多对一的,州与州长是一对一的,州长与国家是多对一的,国家与大陆是多对一的。
我想通过其唯一的 ID 获取单个城镇实例,并急切地使用 ejbql 获取其相关的州、州长、国家和大陆。我相信正确的 ejbql 是:
Hiberante 从此 ejbql 生成正确的 sql,但是当我执行 myTown.getState().getGovernor() 时。我为我的州长取回了一个空对象。为什么休眠不填充州长?似乎它不想在树的上一层以上填充对象。有人看到我做错了什么吗?