package kr.debop4j.data.ogm.test.type; import org.hibernate.ogm.datastore.map.impl.HashMapDialect; import org.hibernate.ogm.datastore.map.impl.MapDatastoreProvider; import org.hibernate.ogm.type.GridType; import org.hibernate.type.StandardBasicTypes; import org.hibernate.type.Type; import java.util.UUID; /** * kr.debop4j.data.ogm.test.type.OverridingTypeDialect * * @author 배성혁 ( sunghyouk.bae@gmail.com ) * @since 13. 4. 2. 오후 5:49 */ public class OverridingTypeDialect extends HashMapDialect { public OverridingTypeDialect(MapDatastoreProvider provider) { super(provider); } @Override public GridType overrideType(Type type) { //all UUID properties are mapped with exploding type if (UUID.class.equals(type.getReturnedClass())) { return ExplodingType.INSTANCE; } //timestamp and time mapping are ignored, only raw dates are handled if (type == StandardBasicTypes.DATE) { return CustomDateType.INSTANCE; } return null; } }