1対0または1つのマッピングを作成したいPersonとLoginAccountクラスがあります。つまり、1人のログインアカウントをゼロまたは1つだけ持つことができます。
私はこれを試しました..Person.hbm.xml
<?xml version="1.0" encoding="utf-8" ?>
<id name="PersonID">
<generator class="native" />
</id>
<property name="Title" />
<property name="FirstName" />
<property name="SecondName" />
<property name="ThirdName" />
<property name="LegalFullName" />
<property name="LegalFullNameLocal" />
<property name="AliasFullName" />
<property name="Suffix" />
<property name="PreviousLegalName" />
<property name="ReasonForNameChange" />
<many-to-one class="OESPCS.Model.LoginAccount" column="LoginAccountID" name="LoginAccount" foreign-key="fk_LoginAccountID_Person" unique="true">
</many-to-one>
LoginAccount.hbm.xml
<?xml version="1.0" encoding="utf-8" ?>
<class name ="LoginAccount">
<id name="LoginAccountID">
<generator class="native" />
</id>
<property name="LoginId" unique="true" />
<property name="Password" />
<property name="SaltKey" />
<property name="PasswordChangedOnDate"/>
<property name="IsPasswordChangeRequired" />
<property name="IsKeepSignedIn" />
<property name="IsMultiSessionAllowed" />
<property name="PrivacyPolicyVersion" />
<property name="IsLocked" />
<property name="LockedOnDate" />
<property name="LockedTillDate" />
<property name="IsDisabled" />
<property name="DisabledOnDate" />
<property name="DisabledTillDate" />
<property name="LoginFailAttempts" />
<one-to-one class="OESPCS.Model.Person" name="person" foreign-key="fk_LoginAccount_PersonID"/>
</class>
DBでは、このマッピングにより1対1のマッピングが得られますが、私のプロジェクトでは、個人がLoninAccountを持っていない可能性があるため、個人テーブルのLoginAccountIdはnullになる可能性がありますが、個人hbmでunique = trueと言っているため、複数回は許可されません。
だから私は1対0を行う必要がありますか、それとも1つのマッピングが可能ですか?
この問題を解決する方法は?