org.hibernate.community.dialect.Cache71Dialect Maven / Gradle / Ivy
Show all versions of hibernate-community-dialects Show documentation
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.community.dialect;
/**
* Caché 2007.1 dialect.
*
* This class is required in order to use Hibernate with Intersystems Caché SQL. Compatible with
* Caché 2007.1.
*
* PREREQUISITES
* These setup instructions assume that both Caché and Hibernate are installed and operational.
*
* HIBERNATE DIRECTORIES AND FILES
* JBoss distributes the InterSystems Cache' dialect for Hibernate 3.2.1
* For earlier versions of Hibernate please contact
* InterSystems Worldwide Response Center (WRC)
* for the appropriate source files.
*
* CACHÉ DOCUMENTATION
* Documentation for Caché is available online when Caché is running.
* It can also be obtained from the
* InterSystems website.
* The book, "Object-oriented Application Development Using the Caché Post-relational Database:
* is also available from Springer-Verlag.
*
* HIBERNATE DOCUMENTATION
* Hibernate comes with extensive electronic documentation.
* In addition, several books on Hibernate are available from
* Manning Publications Co.
* Three available titles are "Hibernate Quickly", "Hibernate in Action", and "Java Persistence with Hibernate".
*
* TO SET UP HIBERNATE FOR USE WITH CACHÉ
* The following steps assume that the directory where Caché was installed is C:\CacheSys.
* This is the default installation directory for Caché.
* The default installation directory for Hibernate is assumed to be C:\Hibernate.
*
* If either product is installed in a different location, the pathnames that follow should be modified appropriately.
*
* Caché version 2007.1 and above is recommended for use with
* Hibernate. The next step depends on the location of your
* CacheDB.jar depending on your version of Caché.
*
* - Copy C:\CacheSys\dev\java\lib\JDK15\CacheDB.jar to C:\Hibernate\lib\CacheDB.jar.
* - Insert the following files into your Java classpath:
*
*
* - All jar files in the directory C:\Hibernate\lib
* - The directory (or directories) where hibernate.properties and/or hibernate.cfg.xml are kept.
*
*
* - In the file, hibernate.properties (or hibernate.cfg.xml),
* specify the Caché dialect and the Caché version URL settings.
*
*
* For example, in Hibernate 3.2, typical entries in hibernate.properties would have the following
* "name=value" pairs:
*
*
* Properties
*
* Property Name
* Property Value
*
*
* hibernate.dialect
* org.hibernate.community.dialect.Cache71Dialect
*
*
* hibernate.connection.driver_class
* com.intersys.jdbc.CacheDriver
*
*
* hibernate.connection.username
* (see note 1)
*
*
* hibernate.connection.password
* (see note 1)
*
*
* hibernate.connection.url
* jdbc:Cache://127.0.0.1:1972/USER
*
*
*
* NOTE: Please contact your administrator for the userid and password you should use when
* attempting access via JDBC. By default, these are chosen to be "_SYSTEM" and "SYS" respectively
* as noted in the SQL standard.
*
*
CACHÉ VERSION URL
* This is the standard URL for the JDBC driver.
* For a JDBC driver on the machine hosting Caché, use the IP "loopback" address, 127.0.0.1.
* For 1972, the default port, specify the super server port of your Caché instance.
* For USER, substitute the NAMESPACE which contains your Caché database data.
*
* CACHÉ DIALECTS
* Choices for Dialect are:
*
*
*
* - org.hibernate.community.dialect.Cache71Dialect (requires Caché
* 2007.1 or above)
*
*
* SUPPORT FOR IDENTITY COLUMNS
* Caché 2007.1 or later supports identity columns. For
* Hibernate to use identity columns, specify "native" as the
* generator.
*
* SEQUENCE DIALECTS SUPPORT SEQUENCES
*
* To use Hibernate sequence support with Caché in a namespace, you must FIRST load the following file into that namespace:
*
* etc\CacheSequences.xml
*
* For example, at the COS terminal prompt in the namespace, run the
* following command:
*
* d LoadFile^%apiOBJ("c:\hibernate\etc\CacheSequences.xml","ck")
*
* In your Hibernate mapping you can specify sequence use.
*
* For example, the following shows the use of a sequence generator in a Hibernate mapping:
*
* <id name="id" column="uid" type="long" unsaved-value="null">
* <generator class="sequence"/>
* </id>
*
*
*
* Some versions of Hibernate under some circumstances call
* getSelectSequenceNextValString() in the dialect. If this happens
* you will receive the error message: new MappingException( "Dialect
* does not support sequences" ).
*
*
HIBERNATE FILES ASSOCIATED WITH CACHÉ DIALECT
* The following files are associated with Caché dialect:
*
*
* - src\org\hibernate\dialect\Cache71Dialect.java
* - src\org\hibernate\dialect\function\ConditionalParenthesisFunction.java
* - src\org\hibernate\dialect\function\ConvertFunction.java
* - src\org\hibernate\exception\CacheSQLStateConverter.java
* - src\org\hibernate\sql\CacheJoinFragment.java
*
* Cache71Dialect ships with Hibernate 3.2. All other dialects are distributed by InterSystems and subclass Cache71Dialect.
*
* @author Jonathan Levinson
*
* @deprecated use {@link CacheDialect}
*/
@Deprecated
public class Cache71Dialect extends CacheDialect {}