HHH-7978 - Document new feature from HHH-5869
This commit is contained in:
parent
8673e08e7f
commit
89fd64bc2e
|
@ -35,6 +35,7 @@
|
||||||
</para>
|
</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para><xref linkend="value-basic-types" /></para></listitem>
|
<listitem><para><xref linkend="value-basic-types" /></para></listitem>
|
||||||
|
<listitem><para><xref linkend="value-national-character-types" /></para></listitem>
|
||||||
<listitem><para><xref linkend="value-composite-types" /></para></listitem>
|
<listitem><para><xref linkend="value-composite-types" /></para></listitem>
|
||||||
<listitem><para><xref linkend="value-collection-types" /></para></listitem>
|
<listitem><para><xref linkend="value-collection-types" /></para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
@ -294,7 +295,111 @@
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</table>
|
</table>
|
||||||
</section>
|
</section>
|
||||||
|
<section xml:id="value-national-character-types">
|
||||||
|
<title>National Character Types</title>
|
||||||
|
<para>
|
||||||
|
National Character types, which is a new feature since JDBC 4.0 API, now available in hibernate type system.
|
||||||
|
National Language Support enables you retrieve data or insert data into a database in any character
|
||||||
|
set that the underlying database supports.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Depending on your environment, you might want to set the configuration option <property>hibernate.use_nationalized_character_data</property>
|
||||||
|
to true and having all string or clob based attributes having this national character support automatically.
|
||||||
|
There is nothing else to be changed, and you don't have to use any hibernate specific mapping, so it is portable
|
||||||
|
( though the national character support feature is not required and may not work on other JPA provider impl ).
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The other way of using this feature is having the <classname>@Nationalized</classname> annotation on the attribute
|
||||||
|
that should be nationalized. This only works on string based attributes, including string, char, char array and clob.
|
||||||
|
|
||||||
|
<programlisting role="JAVA">
|
||||||
|
@Entity( name="NationalizedEntity")
|
||||||
|
public static class NationalizedEntity {
|
||||||
|
@Id
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@Nationalized
|
||||||
|
private String nvarcharAtt;
|
||||||
|
|
||||||
|
@Lob
|
||||||
|
@Nationalized
|
||||||
|
private String materializedNclobAtt;
|
||||||
|
|
||||||
|
@Lob
|
||||||
|
@Nationalized
|
||||||
|
private NClob nclobAtt;
|
||||||
|
|
||||||
|
@Nationalized
|
||||||
|
private Character ncharacterAtt;
|
||||||
|
|
||||||
|
@Nationalized
|
||||||
|
private Character[] ncharArrAtt;
|
||||||
|
|
||||||
|
@Type(type = "ntext")
|
||||||
|
private String nlongvarcharcharAtt;
|
||||||
|
}</programlisting>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<title>National Character Type Mappings</title>
|
||||||
|
<tgroup cols="4">
|
||||||
|
<thead>
|
||||||
|
<row>
|
||||||
|
<entry>Hibernate type</entry>
|
||||||
|
<entry>Database type</entry>
|
||||||
|
<entry>JDBC type</entry>
|
||||||
|
<entry>Type registry</entry>
|
||||||
|
</row>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<row>
|
||||||
|
<entry>org.hibernate.type.StringNVarcharType</entry>
|
||||||
|
<entry>string</entry>
|
||||||
|
<entry>NVARCHAR</entry>
|
||||||
|
<entry>nstring</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>org.hibernate.type.NTextType</entry>
|
||||||
|
<entry>string</entry>
|
||||||
|
<entry>LONGNVARCHAR</entry>
|
||||||
|
<entry>materialized_clob</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>org.hibernate.type.NClobType</entry>
|
||||||
|
<entry>java.sql.NClob</entry>
|
||||||
|
<entry>NCLOB</entry>
|
||||||
|
<entry>nclob</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>org.hibernate.type.MaterializedNClobType</entry>
|
||||||
|
<entry>string</entry>
|
||||||
|
<entry>NCLOB</entry>
|
||||||
|
<entry>materialized_nclob</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>org.hibernate.type.PrimitiveCharacterArrayNClobType</entry>
|
||||||
|
<entry>char[]</entry>
|
||||||
|
<entry>NCHAR</entry>
|
||||||
|
<entry>char[]</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>org.hibernate.type.CharacterNCharType</entry>
|
||||||
|
<entry>java.lang.Character</entry>
|
||||||
|
<entry>NCHAR</entry>
|
||||||
|
<entry>ncharacter</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>org.hibernate.type.CharacterArrayNClobType</entry>
|
||||||
|
<entry>java.lang.Character[]</entry>
|
||||||
|
<entry>NCLOB</entry>
|
||||||
|
<entry>Character[], java.lang.Character[]</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
<section xml:id="value-composite-types">
|
<section xml:id="value-composite-types">
|
||||||
<title>Composite types</title>
|
<title>Composite types</title>
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -622,6 +622,11 @@ public interface AvailableSettings {
|
||||||
*/
|
*/
|
||||||
public static final String USE_DIRECT_REFERENCE_CACHE_ENTRIES = "hibernate.cache.use_reference_entries";
|
public static final String USE_DIRECT_REFERENCE_CACHE_ENTRIES = "hibernate.cache.use_reference_entries";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable nationalized character support on all string / clob based attribute ( string, char, clob, text etc ).
|
||||||
|
*
|
||||||
|
* Default is <clode>false</clode>.
|
||||||
|
*/
|
||||||
public static final String USE_NATIONALIZED_CHARACTER_DATA = "hibernate.use_nationalized_character_data";
|
public static final String USE_NATIONALIZED_CHARACTER_DATA = "hibernate.use_nationalized_character_data";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -631,7 +636,7 @@ public interface AvailableSettings {
|
||||||
* to handle this situation requires checking the Thread ID every time
|
* to handle this situation requires checking the Thread ID every time
|
||||||
* Session is called. This can certainly have performance considerations.
|
* Session is called. This can certainly have performance considerations.
|
||||||
*
|
*
|
||||||
* Default is true (enabled).
|
* Default is <code>true</code> (enabled).
|
||||||
*/
|
*/
|
||||||
public static final String JTA_TRACK_BY_THREAD = "hibernate.jta.track_by_thread";
|
public static final String JTA_TRACK_BY_THREAD = "hibernate.jta.track_by_thread";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue