问题标签 [jpql]
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 - 如何进行 JPQL 子查询?
是否可以在 JPQL 中执行与此 sql 查询等效的操作?
sql - How to Assign a JPQL query to a simple Java object?
I need to assign the result of a jpql result to a simple class java object
I have something like this
I need to somehow to store the result of this SQL query, example
// could be anytable SELECT DISTINCT c.table_id, c.name, NULL AS description FROM anyTable
How do I do this in JPQL and then assign the result to my object?
java - 递归 JPA 查询?
JPA 2 是否有运行递归查询的机制?
这是我的情况:我有一个实体 E,它包含一个整数字段 x。它也可能有 E 类型的子代,通过 @OneToMany 映射。我想做的是通过主键找到一个 E,并获取它的 x 值,以及它所有后代的 x 值。有没有办法在一个查询中做到这一点?
我使用的是 Hibernate 3.5.3,但我不希望对 Hibernate API 有任何显式依赖。
编辑:根据这个项目,Hibernate 没有这个功能,或者至少在 3 月份没有。所以 JPA 似乎不太可能拥有它,但我想确定一下。
java - JPQL MySQLSyntaxErrorException:您的 SQL 语法有错误
我有两个实体用户和组:
它是多对多单向的。它生成表格user
和user_group
. 现在我有一个简单的查询:
抛出异常:
java - 通过避免加入查找表来优化 JPA 查询?
想象一个表emp:
和一个表部门:
emp.dept_code
dept.code
作为 ForeignKey 的引用。
这些表映射到 JPA 实体,ForeignKey 被建模为关联:
给定以下数据:
我想编写一个 JPA 查询,返回支持部门的所有员工。假设我知道支持部门的 PrimaryKey ( SUPT
)
我想那将是:
问题:
由于emp表中提供了 Department 键SUPT
代码,有没有办法通过避免JOIN 到 Department Entity来重写 JPA 查询?
这会导致性能提升吗?或者 JPA 实现(如 Hibernate)是否足够聪明,可以避免数据库连接到dept表?
sql - 复杂的 JPQL 字符串查询
我正在尝试对数据库中的字符串字段执行非常复杂的查询。我在 JPQL 不是很有经验,所以我想我会尝试获得一些帮助。
我在数据库中有一个名为FILE_PATH
. 在该FILE_PATH
字段中,将有以下值:
- 'C:\temp\files\filename.txt'
- '文件:\\\C:\testing\testfolder\innerfolder\filename2.txt'
我需要能够仅从用户给定的文件名查询中进行搜索。因此,不是简单地做 a SELECT Table FROM Table AS t WHERE t.filePath LIKE '%:query%'
,事情将变得更加复杂,以适应路径的文件名部分。文件路径和文件名是动态数据,所以我不能在那里硬编码一个前缀字符串。这让我很困惑,但我知道 JPQL 中有一些字符串表达式可能能够处理这个要求。
基本上,我只需要在FILE_PATH
字段中最后一个 '\' 之后的任何内容上返回与给定查询匹配的所有行。这可能吗?
谢谢您的帮助。
编辑:正在使用的数据库是 SQL Server。
java - 枚举上的 JPQL LIKE 表达式
JPQL 可以对枚举执行 LIKE 表达式吗?
如果我有一个带有枚举字段 bar 的实体 Foo,我可以在 MySQL 中执行以下操作(bar 存储为 MySQL 枚举)...
但是,JPQL 中的相应查询...
……抱怨……
java - JPA 查询 MONTH/YEAR 函数
如何使用MONTH
类似于 sql 查询的函数编写 JPA 查询?
当我使用上述模式进行查询时,我收到一个错误:unexpected token - MONTH
.
oracle - Oracle CLOB 和 JPA/Hibernate ORDER BY?
我有一个适用于 MySQL 和 SQL Server 的 JPQL 查询。但是对于 Oracle,它失败了
原因似乎是 Oracle 不支持带有 CLOB 列的 ORDER BY。
有没有 JPQL 可以解决这个问题?
java - 如何自动删除连接表中的一行,以避免出现 ConstraintViolationException?
这似乎应该是一个非常简单的问题,或者至少有一个简单的答案。但是 - 我真的不是数据库专家,而且我在 Hibernate 学习曲线上还差得很远。也就是说,这是设置:
考虑两个实体之间的单向多对多关系,从Foo
到Bar
:
(请原谅下面的任何错别字,以下显然是对实际代码的简化)
FooDTO.java:
BarDTO.java:
在 TSQL 端,连接表是这样设置的:
如果我尝试彻底删除 a BarDTO
,我会得到 a ,ConstraintViolationException
因为我没有先删除连接表中的行(duh)。
问题:
- 当我删除 a 时,我可以让 Hibernate 自动删除连接表中的行
Bar
吗?如何? - 如果没有,我如何选择所有
Foo
具有特定 s 的 sBar
,以便我可以Bar
从每个相关Foo
的 s 集中删除它Bar
?
关于后一个问题,我认为这可以通过 aNamedQuery
或使用 Criteria API 来完成,但我不知道具体如何编写这样的查询或应用哪些约束。我认为命名查询看起来像:
但我不确定barId
参数会去哪里,或者如何加入FooBar
表格,因为我没有将它声明为实体。(旁注,我还记得以前尝试加入命名查询的问题 - 加入命名查询是不可能的吗?)