当id找不到引用的实体时,有什么方法可以放置自定义逻辑?
问题:用户字段存储AD登录和引用表用户。该表仅包含活动用户(这是客户的策略)。当我们打开一个非活动用户的记录时,我们会得到 EntityNotFoundException。我们想返回一个由它的登录名填充的虚拟用户对象。
有可能的?
当id找不到引用的实体时,有什么方法可以放置自定义逻辑?
问题:用户字段存储AD登录和引用表用户。该表仅包含活动用户(这是客户的策略)。当我们打开一个非活动用户的记录时,我们会得到 EntityNotFoundException。我们想返回一个由它的登录名填充的虚拟用户对象。
有可能的?
您可以使用 将引用映射到用户not-found="ignore"
。然后,丢失的用户将在您可以自己处理的关联属性中显示为 null。
班级:
public class SomeClass
{
private string _userLogin;
private User _user;
public virtual User User
{
get
{
if (_user == null && !String.IsNullOrEmpty(_userLogin))
{
return new User(_userLogin); // Dummy User
}
return _user;
}
set
{
_user = value;
}
}
}
映射:
<property name="_userLogin" column="user_login" access="field" insert="false" update="false" />
<many-to-one name="_user" column="user_login" access="field" not-found="ignore" />