Class DateUserType

java.lang.Object
com.peterphi.std.guice.hibernate.usertype.DateUserType
All Implemented Interfaces:
Comparator, org.hibernate.usertype.UserType, org.hibernate.usertype.UserVersionType

public class DateUserType extends Object implements org.hibernate.usertype.UserType, org.hibernate.usertype.UserVersionType, Comparator
Encodes a date as a BIGINT in the database.
NOTE: Dates being processed MUST NOT be modified in ANY way - they MUST be treated as immutable datatypes
  • Field Details

  • Constructor Details

    • DateUserType

      public DateUserType()
  • Method Details

    • sqlTypes

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

      public Class returnedClass()
      Specified by:
      returnedClass in interface org.hibernate.usertype.UserType
    • 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
    • nullSafeGet

      public Object nullSafeGet(ResultSet resultSet, String[] names, org.hibernate.engine.spi.SharedSessionContractImplementor session, 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 statement, Object value, int index, org.hibernate.engine.spi.SharedSessionContractImplementor session) throws org.hibernate.HibernateException, SQLException
      Specified by:
      nullSafeSet in interface org.hibernate.usertype.UserType
      Throws:
      org.hibernate.HibernateException
      SQLException
    • deepCopy

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

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

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

      public Date seed(org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Specified by:
      seed in interface org.hibernate.usertype.UserVersionType
    • next

      public Date next(Object current, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Specified by:
      next in interface org.hibernate.usertype.UserVersionType
    • compare

      public int compare(Object a, Object b)
      Specified by:
      compare in interface Comparator