使用NHibernate和Oracle的Unicode字符串

时间:2011-09-27 10:36:37

标签: oracle nhibernate unicode

我使用下面的配置让NHibernate连接到Oracle。在其中一个类中,我存储了一个unicode字符串,例如日本语(日本)。该列的数据字段是NVARCHAR2()但是,在检索数据时,该值是否已损坏显示??? (??)。在某个地方,我正在丢失我的编码,但在哪里丢失。有什么想法吗?

  <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
  <property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
  <property name="connection.connection_string_name">Oracle</property>
  <property name="show_sql">true</property>
  <property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
  <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
  <property name="cache.use_second_level_cache">true</property>
  <property name="adonet.batch_size">30</property>
  <property name="cache.provider_class">NHibernate.Caches.SysCache.SysCacheProvider, NHibernate.Caches.SysCache</property>
  <property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
</session-factory>

2 个答案:

答案 0 :(得分:1)

NHibernate剂量不使用NVarChar2。 如果你想让NHibernate使用NVarchar2而不是你自己编写自己的数据库方言。

答案 1 :(得分:0)

无需编写自定义方言,用户类型就足够了。请参阅我对这个问题的回答: https://stackoverflow.com/a/61792204/5168579