org.itracker.persistence.dao
Class IntBooleanType

java.lang.Object
  extended by org.itracker.persistence.dao.IntBooleanType
All Implemented Interfaces:
org.hibernate.usertype.UserType

public final class IntBooleanType
extends Object
implements org.hibernate.usertype.UserType

A Hibernate UserType to map a Java boolean or java.lang.Boolean property to an SQL column of type INT with the values 0 (= false) or 1 (= true).

This is necessary because of the legacy ITracker 2.x database schema which uses INT instead of BOOLEAN or BIT, which aren't supported by all databases (e.g. DB2).

Author:
johnny

Constructor Summary
IntBooleanType()
          Default constructor, required by Hibernate.
 
Method Summary
 Object assemble(Serializable cached, Object owner)
           
 Object deepCopy(Object value)
           
 Serializable disassemble(Object value)
           
 boolean equals(Object x, Object y)
          Implements persistence equality.
 int hashCode(Object x)
           
 boolean isMutable()
           
 Object nullSafeGet(ResultSet resultSet, String[] names, Object owner)
           
 void nullSafeSet(PreparedStatement statement, Object value, int index)
           
 Object replace(Object original, Object target, Object owner)
           
 Class<Boolean> returnedClass()
           
 int[] sqlTypes()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IntBooleanType

public IntBooleanType()
Default constructor, required by Hibernate.

Method Detail

nullSafeSet

public void nullSafeSet(PreparedStatement statement,
                        Object value,
                        int index)
                 throws org.hibernate.HibernateException,
                        SQLException
Specified by:
nullSafeSet in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException
SQLException

nullSafeGet

public Object nullSafeGet(ResultSet resultSet,
                          String[] names,
                          Object owner)
                   throws org.hibernate.HibernateException,
                          SQLException
Specified by:
nullSafeGet in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException
SQLException

hashCode

public int hashCode(Object x)
             throws org.hibernate.HibernateException
Specified by:
hashCode in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException

disassemble

public Serializable disassemble(Object value)
                         throws org.hibernate.HibernateException
Specified by:
disassemble in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException

deepCopy

public Object deepCopy(Object value)
                throws org.hibernate.HibernateException
Specified by:
deepCopy in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException

sqlTypes

public int[] sqlTypes()
Specified by:
sqlTypes in interface org.hibernate.usertype.UserType

returnedClass

public Class<Boolean> returnedClass()
Specified by:
returnedClass in interface org.hibernate.usertype.UserType

replace

public Object replace(Object original,
                      Object target,
                      Object owner)
               throws org.hibernate.HibernateException
Specified by:
replace in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException

isMutable

public boolean isMutable()
Specified by:
isMutable in interface org.hibernate.usertype.UserType

equals

public boolean equals(Object x,
                      Object y)
               throws org.hibernate.HibernateException
Implements persistence equality.

Specified by:
equals in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException

assemble

public Object assemble(Serializable cached,
                       Object owner)
                throws org.hibernate.HibernateException
Specified by:
assemble in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException


Copyright © 2002-2012 itracker. All Rights Reserved.