Class EncryptedBinaryType
- All Implemented Interfaces:
org.hibernate.usertype.ParameterizedType,org.hibernate.usertype.UserType
A Hibernate UserType implementation which allows transparent encryption of byte[] values during persistence of entities.
This class is intended only for declarative use from a Hibernate mapping file. Do not use it directly from your .java files (although of course you can use it when mapping entities using annotations).
To use this Hibernate type in one of your Hibernate mappings, you can add it like this:
<hibernate-mapping package="myapp">
...
<typedef name="encryptedBinary" class="org.jasypt.hibernate.type.EncryptedBinaryType">
<param name="encryptorRegisteredName">myHibernateByteEncryptor</param>
</typedef>
...
<class name="UserData" table="USER_DATA">
...
<property name="resume" column="RESUME" type="encryptedBinary" />
...
<class>
...
<hibernate-mapping>
...where a HibernatePBEByteEncryptor object
should have been previously registered to be used
from Hibernate with name myHibernateByteEncryptor (see
invalid reference
HibernatePBEByteEncryptorHibernatePBEEncryptorRegistry).
Or, if you prefer to avoid registration of encryptors, you can configure your encryptor directly in the mapping file (although not recommended), like this:
<hibernate-mapping package="myapp">
...
<typedef name="encryptedBinary" class="org.jasypt.hibernate.type.EncryptedBinaryType">
<param name="algorithm">PBEWithMD5AndTripleDES</param>
<param name="password">XXXXX</param>
<param name="keyObtentionIterations">1000</param>
</typedef>
...
<class name="UserData" table="USER_DATA">
...
<property name="resume" column="RESUME" type="encryptedBinary" />
...
<class>
...
<hibernate-mapping>
To learn more about usage of user-defined types, please refer to the Hibernate Reference Documentation.
- Since:
- 1.9.0
- Author:
- Chus Picos
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionassemble(Serializable cached, Object owner) disassemble(Object value) booleanintbooleannullSafeGet(ResultSet rs, String[] names, org.hibernate.engine.spi.SharedSessionContractImplementor session, Object owner) voidnullSafeSet(PreparedStatement st, Object value, int index, org.hibernate.engine.spi.SharedSessionContractImplementor session) voidsetParameterValues(Properties parameters) int[]sqlTypes()
-
Constructor Details
-
EncryptedBinaryType
public EncryptedBinaryType()
-
-
Method Details
-
sqlTypes
public int[] sqlTypes()- Specified by:
sqlTypesin interfaceorg.hibernate.usertype.UserType
-
returnedClass
- Specified by:
returnedClassin interfaceorg.hibernate.usertype.UserType
-
equals
-
deepCopy
-
assemble
- Specified by:
assemblein interfaceorg.hibernate.usertype.UserType- Throws:
org.hibernate.HibernateException
-
disassemble
- Specified by:
disassemblein interfaceorg.hibernate.usertype.UserType- Throws:
org.hibernate.HibernateException
-
isMutable
public boolean isMutable()- Specified by:
isMutablein interfaceorg.hibernate.usertype.UserType
-
hashCode
- Specified by:
hashCodein interfaceorg.hibernate.usertype.UserType- Throws:
org.hibernate.HibernateException
-
replace
-
setParameterValues
- Specified by:
setParameterValuesin interfaceorg.hibernate.usertype.ParameterizedType
-