com.jalios.jcms.db
Class GenericEnumUserType

java.lang.Object
  extended by com.jalios.jcms.db.GenericEnumUserType
All Implemented Interfaces:
org.hibernate.usertype.ParameterizedType, org.hibernate.usertype.UserType

public class GenericEnumUserType
extends Object
implements org.hibernate.usertype.UserType, org.hibernate.usertype.ParameterizedType

If you need to map Java 5 Enums to Hibernate using JPA annotations this is what you are looking for.

Example:

 <hibernate-mapping>
 
   <typedef name="documentTypeEnum" class="com.jalios.jcms.db.GenericEnumUserType">
     <param name="enumClass">com.jalios.jcmsplugin.myplugin.DocumentType</param>
     <!--<param name="identifierMethod">toInt</param>--> <!--default: name-->
     <!--<param name="valueOfMethod">fromInt</param>--> <!--default: valueOf-->
   </typedef>
 
   ...
 
   <property name="documentType" type="documentTypeEnum" />
 
 <hibernate-mapping>
 

See Also:
https://community.jboss.org/wiki/Java5EnumUserType, http://desgeeksetdeslettres.com/blog/programmation-java/hibernate-une-facon-generique-de-persister-les-enum

Constructor Summary
GenericEnumUserType()
           
 
Method Summary
 Object assemble(Serializable cached, Object owner)
           
 Object deepCopy(Object value)
           
 Serializable disassemble(Object value)
           
 boolean equals(Object x, Object y)
           
 int hashCode(Object x)
           
 boolean isMutable()
           
 Object nullSafeGet(ResultSet rs, String[] names, Object owner)
           
 void nullSafeSet(PreparedStatement st, Object value, int index)
           
 Object replace(Object original, Object target, Object owner)
           
 Class returnedClass()
           
 void setParameterValues(Properties parameters)
           
 int[] sqlTypes()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GenericEnumUserType

public GenericEnumUserType()
Method Detail

setParameterValues

public void setParameterValues(Properties parameters)
Specified by:
setParameterValues in interface org.hibernate.usertype.ParameterizedType

returnedClass

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

nullSafeGet

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

nullSafeSet

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

sqlTypes

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

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

deepCopy

public Object deepCopy(Object value)
                throws org.hibernate.HibernateException
Specified by:
deepCopy 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

equals

public boolean equals(Object x,
                      Object y)
               throws org.hibernate.HibernateException
Specified by:
equals in interface org.hibernate.usertype.UserType
Throws:
org.hibernate.HibernateException

hashCode

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

isMutable

public boolean isMutable()
Specified by:
isMutable 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


Copyright © 2001-2010 Jalios SA. All Rights Reserved.