2

私は2つのエンティティを持っています。InvoiceItem および ChargeCategory は、JPA セマンティクスを使用して定義され、getter で使用され@Columnます。InvoiceItem#getChargeCategory() は次のように定義されます。

@ManyToOne(optional = false)
@JoinColumn(name = "item_charge_category")
public ChargeCategory getChargeCategory()
{
    return chargeCategory;
}

ここで、次のように、指定された item_charge_category を持つすべての InvoiceItems を取得しようとすると:

SELECT * FROM InvoiceItem i 
WHERE i.chargeCategory.itemChargeCategory = :itemChargeCategory

エラーが発生する

Unexpected token: CROSS in statement 

声明は次のとおりです。

SELECT 
    <Columns from InvoiceItem>
FROM   dist_invoice_items Invoicei0_
       CROSS JOIN invoice_charge_types Chargec1_ 
WHERE  Invoicei0_.item_charge_category = 
       Chargec1_.item_charge_category 
       AND Chargec1_.item_charge_category = ?  

私は使っている

  • 休止状態: 3.5.5
  • HSQLDB: 2.0

そしてpersistence.xmlは

<persistence-unit name="fssPersistenceUnit" transaction-type="RESOURCE_LOCAL">
</persistence-unit>

誰かが同様の問題に直面しましたか?これを修正する方法はありますか?これに対処するのに役立つ情報があれば教えてください。

4

0 に答える 0