查询@ManyToOne关系时出现HSQLDB错误

时间:2012-11-29 07:33:51

标签: java hsqldb many-to-one

我有两个实体即。 InvoiceItem和ChargeCategory,使用JPA语义定义,在getter上使用@Column。 InvoiceItem#getChargeCategory()定义如下:

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

现在,当我尝试使用给定的item_charge_category检索所有InvoiceItem时,如下所示:

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 = ?  

我正在使用

  • Hibernate:3.5.5
  • HSQLDB:2.0

和persistence.xml是

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

有没有人遇到过类似的问题?知道怎么纠正这个吗?如果有任何进一步的信息有助于解决这个问题,请与我们联系。

0 个答案:

没有答案