我有一个Nhibernate hbm,可以映射多对多的关系。为简化数据库,它使用包上的where子句来过滤连接表。
这很有效,直到我开始测试并使用hbm文件从生成的模式创建数据库。不会创建root和user标记列。
在hbm文件中,如何定义这两列,以便在架构中生成它们?
答案 0 :(得分:0)
这对我有用(对不起,如果你不喜欢属性映射 - 但我认为你应该明白这一点)。重要的是指定两列 - 否则它包含一个奇怪的列(val - 沿线的东西 - 忘记了确切的名称)并使用它而不是我想要的那些。
[Bag(0, Cascade = "all", Table = "item_hierarchy")]
[Key(1, Column = "child")]
[ManyToMany(2, ClassType = typeof(Item), Column="parent",NotFound = NotFoundMode.Ignore)]
public virtual IList<Item> Parent { get; set; }