2012-05-03 28 views
0

NHibernateでは、私はこの設定を持っています。NHibernateプロパティの設定

<property name="Name" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a222222229"> 
     <column name="Name" /> 
    </property> 

これらはどういう意味ですか? msconrlib、バージョン、culture、publicKeyToken?なぜこれらが必要なのか?私はjava envのHibernateで作業しましたが、私はこれらのタグを使用しません。

おかげ

答えて

0

タイプは、そのプロパティに使用するには、.NET CLR型を記述します。この場合、通常の文字列です。

この場合、指定する必要はありません。カスタムタイプを扱っているときなど、指定したい場合があります。または、DateTimeをマップする場合。

タイプのパーツの意味について: タイプはSystem.Stringであり、アセンブリ名、カルチャおよびバージョンに関して非常に正確に記述されています。 publicKeyTokenは、アセンブリの厳密な名前のキーです。異なるキーで署名されている限り、重複したアセンブリ名が可能です。

あなたは

<property name="Name"> 
     <column name="Name" /> 
</property> 

または

<property name="Name" type="String"> 
     <column name="Name" /> 
</property> 

としてこのマッピングを書くことができる。しかし、あなたは、いくつかのアセンブリにカスタム型を使用したい場合はあなたのような、より詳細には、右行っているかどうかを指定する必要があります今。

+1

'name'と' column name'が同じものであることも指摘しておきましょう '' – Rippo

0

MS .NetではStrong assembly nameと呼ばれています。これは、.NET Frameworkで特定のタイプがどのように識別されるかです。したがって、この特定の文字列では、バージョン4.0のmscorlibライブラリのSystem.stringを使用すると記載されています。ローカリゼーションの設定はありません。 これにより、.Netは、システムDLLのグローバルディレクトリとして機能するGAC - Global Assembly Cacheに展開されたアセンブリを使用することができます。

関連する問題