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