我不确定流利的hibernate是否可以这样做,但我无法弄清楚如何。
我有一个表 - 个案和一些属性
ownerId,brokerId,shipperId
我想把它映射到我的财产:
int [] OrgsWithAccess
这可能吗?
这样当我检查组织是否可以访问案例时,我可以检查属性OrgsWithAccess而不是OwnerId == myorg.id或brokerId == myorg.id等。
答案 0 :(得分:0)
如果我正确理解您的问题,我建议您不要尝试以您提出的方式进行映射。
cases
表看起来像是其他表之间的某种形式的联结表。我假设这些其他表每个都包含在应用程序中表示为实体的数据,并且有三个表,Owner
,Broker
和Shipper
。
OrgsWithAccess
,即假设类看起来像
public class OrgsWithAccess
{
public virtual Owner { get; set; }
public virtual Broker { get; set; }
public virtual Shipper { get; set; }
}
然后映射看起来像
public class OrgsWithAccessMap : ClassMap<OrgsWithAccess>
{
public OrgsWithAccessMap()
{
References(x => x.Owner);
References(x => x.Broker);
References(x => x.Shipper);
}
}
然后在查询时,您只需查看OrgsWithAccess
session.QueryOver<OrgsWithAccess>().Where(x => x.Owner.Id == id);