사용자 도구

사이트 도구


java:hibernate:usertype:generic_enum

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
java:hibernate:usertype:generic_enum [2014/10/02 16:39]
kwon37xi 만듦
java:hibernate:usertype:generic_enum [2014/11/20 11:15] (현재)
kwon37xi
줄 1: 줄 1:
 ====== Hibernate Generic Enum UserType ====== ====== Hibernate Generic Enum UserType ======
-  * Enum의 값을 단순 ''name()''이 아닌 다른 값으로 자유롭게 매핑하고 싶을 때 사용.+  * Enum의 값을 단순 ''name()''이 아닌 다른 값으로 자유롭게 매핑하고 싶을 때 사용하는 [[java:hibernate:usertype|Hibernate User Type]].
   * [[https://developer.jboss.org/wiki/Java5EnumUserType|Java 5 EnumUserType]]   * [[https://developer.jboss.org/wiki/Java5EnumUserType|Java 5 EnumUserType]]
   * [[http://stackoverflow.com/questions/4744179/java-lang-verifyerror-on-hibernate-specific-usertype/6231710#6231710|java.lang.verifyError on hibernate specific usertype for Hibernate 4 - Stack Overflow]]   * [[http://stackoverflow.com/questions/4744179/java-lang-verifyerror-on-hibernate-specific-usertype/6231710#6231710|java.lang.verifyError on hibernate specific usertype for Hibernate 4 - Stack Overflow]]
줄 72: 줄 72:
  Object identifier = type.get(rs, names[0], session);  Object identifier = type.get(rs, names[0], session);
  try {  try {
- return valueOfMethod.invoke(enumClass, new Object[] { identifier });+     Object resultValue = valueOfMethod.invoke(enumClass, new Object[] { identifier }); 
 +     log.trace("Found [{}] as column [{}] original value [{}]", resultValue, names[0], identifier);
  } catch (Exception exception) {  } catch (Exception exception) {
  throw new HibernateException("Exception while invoking valueOfMethod of enumeration class: ",  throw new HibernateException("Exception while invoking valueOfMethod of enumeration class: ",
줄 83: 줄 84:
  try {  try {
  Object identifier = value != null ? identifierMethod.invoke(value, new Object[0]) : null;  Object identifier = value != null ? identifierMethod.invoke(value, new Object[0]) : null;
 + log.trace("binding parameter [{}] as [{}] - [{}] original value [{}]", index, JdbcTypeNameMapper.getTypeName(sqlTypes[0]), identifier, value);
  st.setObject(index, identifier);  st.setObject(index, identifier);
  } catch (Exception exception) {  } catch (Exception exception) {
java/hibernate/usertype/generic_enum.1412235599.txt.gz · 마지막으로 수정됨: 2014/10/02 16:39 저자 kwon37xi