我的主要实体(帐户)图如下所示:
帐户
Manager,SalesPerson和Trader实体属于person类型。现在,在创建主实体(以及内部实体)时,我需要创建一个新的Person,如果它还不存在的话。这引入了一个问题,如果假设相同的(新)人与SalesPerson和Trader相关联,我希望创建的同一个瞬态实体与两者相关联。但相反,我最终创建了Person对象的重复瞬态实例,这会在系统中创建重复项。我怎么能避免这个?
答案 0 :(得分:0)
创建后,可以将Person对象保存到数据库吗?然后它将在数据库中,当你检查它时,它就在那里。如果您使用的是本机主键,则在调用Save时,nHibernate会将其保存到数据库中。如果您没有使用本机主键,则必须调用flush。
或者,跟踪最近保存的人员,并先检查那里。