Class MonetaryAmountType

java.lang.Object
io.hypersistence.utils.hibernate.type.money.MonetaryAmountType
All Implemented Interfaces:
org.hibernate.metamodel.spi.EmbeddableInstantiator, org.hibernate.metamodel.spi.Instantiator, org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>

public class MonetaryAmountType extends Object implements org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>
Maps a MonetaryAmount object type onto two columns (amount and currency).

For more details about how to use it, check out this article on vladmihalcea.com.

Author:
Piotr Olaszewski
  • Constructor Details

    • MonetaryAmountType

      public MonetaryAmountType()
  • Method Details

    • getPropertyValue

      public Object getPropertyValue(javax.money.MonetaryAmount component, int property) throws org.hibernate.HibernateException
      Specified by:
      getPropertyValue in interface org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>
      Throws:
      org.hibernate.HibernateException
    • instantiate

      public javax.money.MonetaryAmount instantiate(org.hibernate.metamodel.spi.ValueAccess values, org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory)
      Specified by:
      instantiate in interface org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>
      Specified by:
      instantiate in interface org.hibernate.metamodel.spi.EmbeddableInstantiator
    • embeddable

      public Class<?> embeddable()
      Specified by:
      embeddable in interface org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>
    • returnedClass

      public Class<javax.money.MonetaryAmount> returnedClass()
      Specified by:
      returnedClass in interface org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>
    • equals

      public boolean equals(javax.money.MonetaryAmount x, javax.money.MonetaryAmount y)
      Specified by:
      equals in interface org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>
    • hashCode

      public int hashCode(javax.money.MonetaryAmount x)
      Specified by:
      hashCode in interface org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>
    • deepCopy

      public javax.money.MonetaryAmount deepCopy(javax.money.MonetaryAmount value)
      Specified by:
      deepCopy in interface org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>
    • isMutable

      public boolean isMutable()
      Specified by:
      isMutable in interface org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>
    • disassemble

      public Serializable disassemble(javax.money.MonetaryAmount value)
      Specified by:
      disassemble in interface org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>
    • assemble

      public javax.money.MonetaryAmount assemble(Serializable cached, Object owner)
      Specified by:
      assemble in interface org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>
    • replace

      public javax.money.MonetaryAmount replace(javax.money.MonetaryAmount detached, javax.money.MonetaryAmount managed, Object owner)
      Specified by:
      replace in interface org.hibernate.usertype.CompositeUserType<javax.money.MonetaryAmount>