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

Mysql 这个SQL查询如何转换为JPQL?,mysql,sql,jpql,Mysql,Sql,Jpql,我试图习惯JPQL,但我已经被卡住了。这是如何做到的: 使用(Table\u bID)从Table\u a内部联接Table\u b中选择*,其中Table\u b.Column\u a类似于“somestring” 翻译成JPQL?我将非常感谢任何帮助 select a from EntityMappedToTableA inner join fetch a.entityMappedToTableB b where b.fieldMappedOnColumnA like :someStrin

我试图习惯JPQL,但我已经被卡住了。这是如何做到的:

使用(Table\u bID)从Table\u a内部联接Table\u b中选择*,其中Table\u b.Column\u a类似于“somestring”

翻译成JPQL?我将非常感谢任何帮助

select a from EntityMappedToTableA 
inner join fetch a.entityMappedToTableB b
where b.fieldMappedOnColumnA like :someString
要使其工作,您必须具有EntityMappedToTable a到EntityMappedToTable B之间的关系(我假设它是多行关系,因为表a中似乎有多行ID为表B):

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

    // ...
}

我的映射是`@JoinColumn(name=“VaterID”,referencedColumnName=“VaterID”)@ManyToOne private Vaeter-Vaeter<代码>createQuery(“从Kinder k INNER JOIN FETCH k.vaeter中选择k,其中k.vaterName LIKE:vname”);`这就是问题所在。这样做,我得到一个异常,其中“类[kms3.entities.Kinder]的未知状态或关联字段[vaterName]”。在我看来,我试图在实体“Kinder”中读取“vaterName”,而不是实体“Vaeter”。是查询中的错误还是映射中的错误?这是查询中的错误。我误读了您的SQL查询,并在翻译中出错。我会修正我的答案。谢谢你的快速回复,但它仍然不起作用。我尝试了以下方法:“从Kinder k内部连接中选择k获取k.vaeter vat,其中vat.vaterName类似于:vname”,但我在“未知令牌vat”上遇到了一个异常。没有别名“vat”,它无法找到vaterName。我在理解这件事上有一个很大的缺陷。好吧,我明白了。“fetch”实际上是这次的错误。工作的代码是“从EntityMappedToTable中选择a内部联接a.entityMappedToTableB其中b.FieldMappedToTable类似于:someString”。谢谢你的帮助。