流畅的hibernate连接指定连接标准
本文关键字:连接 标准 hibernate | 更新日期: 2023-09-27 18:19:09
我有以下sql:
select a.a, b.b, c.c
from apple a
join burger b on a.b = b.b
left outer join charlie c on a.c = c.c
where c.x = 'kke';
映射,我尝试了以下流畅的nhibernate映射:
public entityMap()
{
Table("apple");
Id(x => x.a, "a").GeneratedBy.TriggerIdentity();
Join("burger", m =>
{
m.Inverse();
m.Fetch.Join();
m.KeyColumn("b");
});
Join("charlie", m =>
{
m.Inverse();
m.Fetch.Join();
m.KeyColumn("c");
});
Where("this_1_.x = 'kke'");
}
,结果如下sql:
select a.a, b.b, c.c
from apple a
join burger b on a.a = b.b
left outer join charlie c on a.a = c.c
where c.x = 'kke';
正如你所看到的,连接是a.a = bb和a.a = c.c,当我想让它们是a.c = c.c和a.b = b.b时。
我怎么能做到这一点没有引用(我想只有一个实体从所有三个表)。
这是不可能的。
我不认为NHibernate是适合你使用的这种以数据库为中心的方法的工具。