Class AbstractScoreHibernateType

java.lang.Object
org.optaplanner.persistence.jpa.impl.score.AbstractScoreHibernateType
All Implemented Interfaces:
org.hibernate.usertype.CompositeUserType
Direct Known Subclasses:
BendableBigDecimalScoreHibernateType, BendableLongScoreHibernateType, BendableScoreHibernateType, HardMediumSoftBigDecimalScoreHibernateType, HardMediumSoftLongScoreHibernateType, HardMediumSoftScoreHibernateType, HardSoftBigDecimalScoreHibernateType, HardSoftLongScoreHibernateType, HardSoftScoreHibernateType, SimpleBigDecimalScoreHibernateType, SimpleLongScoreHibernateType, SimpleScoreHibernateType

public abstract class AbstractScoreHibernateType extends Object implements org.hibernate.usertype.CompositeUserType
This class is Hibernate specific, because JPA 2.1's @Converter currently cannot handle 1 class mapping to multiple SQL columns.
  • Field Details

    • scoreDefinition

      protected ScoreDefinition scoreDefinition
    • type

      protected org.hibernate.type.AbstractSingleColumnStandardBasicType type
  • Constructor Details

    • AbstractScoreHibernateType

      public AbstractScoreHibernateType()
  • Method Details

    • extractIntParameter

      protected int extractIntParameter(Properties parameterMap, String parameterName)
    • returnedClass

      public Class returnedClass()
      Specified by:
      returnedClass in interface org.hibernate.usertype.CompositeUserType
    • getPropertyNames

      public String[] getPropertyNames()
      Specified by:
      getPropertyNames in interface org.hibernate.usertype.CompositeUserType
    • getPropertyTypes

      public org.hibernate.type.Type[] getPropertyTypes()
      Specified by:
      getPropertyTypes in interface org.hibernate.usertype.CompositeUserType
    • getPropertyValue

      public Object getPropertyValue(Object o, int propertyIndex)
      Specified by:
      getPropertyValue in interface org.hibernate.usertype.CompositeUserType
    • nullSafeGet

      public Score nullSafeGet(ResultSet resultSet, String[] names, org.hibernate.engine.spi.SharedSessionContractImplementor session, Object owner) throws SQLException
      Specified by:
      nullSafeGet in interface org.hibernate.usertype.CompositeUserType
      Throws:
      SQLException
    • nullSafeSet

      public void nullSafeSet(PreparedStatement statement, Object value, int parameterIndex, org.hibernate.engine.spi.SharedSessionContractImplementor session) throws SQLException
      Specified by:
      nullSafeSet in interface org.hibernate.usertype.CompositeUserType
      Throws:
      SQLException
    • isMutable

      public boolean isMutable()
      Specified by:
      isMutable in interface org.hibernate.usertype.CompositeUserType
    • deepCopy

      public Object deepCopy(Object value)
      Specified by:
      deepCopy in interface org.hibernate.usertype.CompositeUserType
    • replace

      public Object replace(Object original, Object target, org.hibernate.engine.spi.SharedSessionContractImplementor session, Object owner)
      Specified by:
      replace in interface org.hibernate.usertype.CompositeUserType
    • setPropertyValue

      public void setPropertyValue(Object component, int property, Object value)
      Specified by:
      setPropertyValue in interface org.hibernate.usertype.CompositeUserType
    • equals

      public boolean equals(Object a, Object b)
      Specified by:
      equals in interface org.hibernate.usertype.CompositeUserType
    • hashCode

      public int hashCode(Object o)
      Specified by:
      hashCode in interface org.hibernate.usertype.CompositeUserType
    • disassemble

      public Serializable disassemble(Object value, org.hibernate.engine.spi.SharedSessionContractImplementor session)
      Specified by:
      disassemble in interface org.hibernate.usertype.CompositeUserType
    • assemble

      public Object assemble(Serializable cached, org.hibernate.engine.spi.SharedSessionContractImplementor session, Object owner)
      Specified by:
      assemble in interface org.hibernate.usertype.CompositeUserType