A有这种映射:
mapping.HasManyToMany(x => x.SubVersions).ParentKeyColumn(“ParentId”)。ChildKeyColumn(“SubVersionId”)。Table( “VersionLinks”);
这将创建一个包含2列的表VersionLinks(ParentId,SubVersionId)。是否可以在此表中包含另一列(例如CreateDate),该列将自动填充(DateTiem.Now)而不创建具有字段Parent,SubVersion,Date?的新实体VersionLink
答案 0 :(得分:1)
您可以尝试使用默认getdate()
值手动创建新的CreateDate列,但我只是为VersionLink创建一个新实体并将many-to-many
转换为many-to-one
s < / p>
答案 1 :(得分:0)
要自动更新日期属性,请查看使用IPreUpdateEventListener。
至于映射表,我很确定你不得不创建一个复合元素。我有一个类似的问题,我想添加sort
和weight
列。我最终得到了以下映射:
<bag
name="criteria"
access="field"
table="assessment_criterion_map"
fetch="subselect"
cascade="save-update">
<key column="assessment_id"/>
<composite-element class="WeightedCriterion">
<parent name="assessment"/>
<many-to-one
class="Criterion"
name="criterion"
access="field"
column="criterion_id"
cascade="save-update"
fetch="join"/>
<property name="Weight"/>
<property name="SortOrder" column="sort_order"/>
</composite-element>
</bag>