【发布时间】:2011-04-04 11:29:18
【问题描述】:
我很难弄清楚如何使用表(非映射表)上的连接来获取映射对象。
表格:
DataForm: (Id, AliasName (FK), ...)
Customer: (Id, ...)
CustomerAliases: (PK AliasName, CustomerId (FK))
因此,每个客户的别名都是唯一的,并且客户可能有许多别名。
代码:
DataForm.Customer - this is what I need
那么如何在 getter 中编写 HQL? 由于 CustomerAliases 表只是一个别名列表,因此我没有将其映射到类,而是通过 Customer 访问。如何使用 AliasName 获取客户? 如果是正常的 SQL,我会这样做:
SELECT * From Customer c
INNER JOIN CustomerAliases ca ON ca.AliasName = 'AliasNameProvided'
WHERE ca.CustomerId = c.Id
【问题讨论】:
-
HSQL 是什么意思?为什么不映射别名?
标签: join nhibernate hql