0
Talbes:HQL多表連接和SUM(),第()
Grandpa
GP_ID (PK)
NAME
Dad
DAD_ID (PK)
PG_ID (FK)
Children
C_ID (PK)
DAD_ID (FK)
MONEY_AMOUNT
MONEY_UNIT
類(此處省略註釋):
class Grandpa
{
Long id;
String name;
Double moneyAmount; // sum of Children's money amount
String moneyUnit; // first of Children's money unit.
}
class Dad
{
Long id;
Grandpa grandpa;
}
class Children
{
Long id;
Dad dad;
Double moneyAmount;
String moneyUni;
}
我想寫一個HQL得到爺爺的對象與總和(grandpa.dad.children.money_amount)和第一(grandpa.dad.children.money_unit)。下面是我的,但它不工作:
select gp, sum(chdn.moneyAmount) as gp.moneyAmount, first(chdn.moneyUnit) as gp.moneyUnit
from Grandpa gp, Dad dad, Children chdn
where gp.id =: chdn.dad.grandpa.id
感謝您的回答,我正在嘗試。有關您的HQL的2個問題: 1.父親沒有領域「兒童」。所以沒有「爸爸。孩子」。 2.如果爺爺有很多領域,我必須在HQL中列出所有領域嗎? – Xiezi
當我嘗試它時,第1行有一個例外,即「。」。在「as gp.moneyAmount」中。它有什麼不對嗎? – Xiezi
1.我會編輯2.是3.點是排字錯誤 – Firo