我的应用程序中有一些不需要ID保留的类。这些可能是用户日志或审核记录之类的东西。我可以向他们添加身份证明ID,但是我想避免这种情况,因为它们没有任何意义。
这些对象的检索总是在另一个键(如UserId)上,该键不是记录唯一的。
因为NHibernate处理实体,所以您必须具有识别实体的内容。最好有一个单独的唯一id字段,因为这是NHibernate设计的工作方式,而且不打架更容易。
但是,如果您在设计约束上确实没有单独的id列,则可以使用在现有字段上定义的Composite-id。例如,对于审核日志记录,您可以使用UserId和DateTime的组合。如果记录仅写入一次且从未被处理过(例如审核日志),则还应该在类映射中添加mutable = false来强制执行该操作。另外,请注意,如果您确实使用了这种复合ID,那么将来如果您尝试将此实体使用NHibernate的一些更高级的功能,则可能会引起问题。
| 归档时间: |
|
| 查看次数: |
7979 次 |
| 最近记录: |