mysql - 这个 SQL 查询如何转换为 JPQL?

标签 mysql sql jpql

我正在努力适应 JPQL,但我已经卡住了。这是怎么做到的:

SELECT * FROM Table_a INNER JOIN Table_b USING (Table_bID) Where Table_b.Column_a LIKE 'somestring'

翻译成 JPQL ?如果有任何帮助,我将不胜感激。

最佳答案

select a from EntityMappedToTableA 
inner join fetch a.entityMappedToTableB b
where b.fieldMappedOnColumnA like :someString

要使其工作,您必须具有从 EntityMappedToTableA 到 EntityMappedToTableB 的关系(我假设它是 ManyToOne,因为表 A 中似乎有几行具有表 B 的 ID):

@Entity
public class EntityMappedToTableA {
    @ManyToOne
    @JoinColumn(name = "Table_bID")
    private EntityMappedToTableB entityMappedToTableB;

    // ...
}

关于mysql - 这个 SQL 查询如何转换为 JPQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5143035/

相关文章:

mysql - 如何显示 GROUP BY 语句中的所有行?

c# - 总数按年份刷新后的真实行数

c# - 如何在不创建新的 ASP.NET 模型的情况下执行存储过程联接?

mysql - 除以零错误sql

java - 如何使用 hibernate-core-5.2.0.Final.jar 获取所有对象

java - hibernate/JPQL : How to load parent with all childs based on query on a child

mysql - select_full_join数量不断增加

mysql - 在已释放回池的连接上触发 Node mysql 错误事件

java - 如何将 Hashmap 传递给 spring data jpa 方法并在更新语句中使用它?

javascript - NodeJs 中的 Promise 错误