커스텀 타입 만들기

A collection of 4 posts

하이버네이트

Enum Type 만들기

클래스 구현하기. EnhancedUserType와 ParameterizedType 인터페이스를 구현한다. private Class<Enum> enumClass; public void setParameterValues(Properties parameters) { String enumClassName = parameters.getProperty(“enumClassname”); try { enumClass = ReflectHelper.classForName(enumClassName); } catch (ClassNotFoundException cnfe) { throw new HibernateException(“Enum class not found”, cnfe); } } public Class

하이버네이트

ParameterizedType 만들기

클래스 구현하기 DB에 값을 저장할 때 특정 조건에 따라 다른 값으로 변환하여 저장할 필요가 있다면, 파라미터가 필요하다. 이럴 때 유요하다. ParameterizedType 인터페이스를 구현한다. private Currency convertTo; @Override public void setParameterValues(Properties parameters) { this.convertTo = Currency.getInstance( parameters.getProperty(“convertTo”)); } 맵핑하기 같은 Value

하이버네이트

CompositeUserType 만들기

클래스 구현하기 public class MonetaryAmountCompositeUserType implements CompositeUserType { public String[] getPropertyNames() { return new String[] { “amount”, “currency” }; } public Type[] getPropertyTypes() { return new Type[] { Hibernate.BIG_DECIMAL, Hibernate.CURRENCY }; } public Object getPropertyValue(Object component, int property) throws HibernateException { MonetaryAmount monetaryAmount = (MonetaryAmount) component; if

You've successfully subscribed to Whiteship!
Could not sign up! Invalid sign up link.