사용자 도구

사이트 도구


java:jpa:converter

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판 양쪽 다음 판
java:jpa:converter [2018/07/11 14:43]
kwon37xi
java:jpa:converter [2018/07/11 14:44]
kwon37xi
줄 6: 줄 6:
 <code java> <code java>
 @Converter @Converter
-public class PersonNameConverter implements +public class PersonNameConverter implements AttributeConverter<PersonName, String> {
-  AttributeConverter<PersonName, String> { +
-  +
-    private static final String SEPARATOR = ", ";+
    
     @Override     @Override
     public String convertToDatabaseColumn(PersonName personName) {     public String convertToDatabaseColumn(PersonName personName) {
-        if (personName == null) { +        // object to DB column 구현
-            return null; +
-        } +
-  +
-        StringBuilder sb = new StringBuilder(); +
-        if (personName.getSurname() != null && !personName.getSurname() +
-            .isEmpty()) { +
-            sb.append(personName.getSurname()); +
-            sb.append(SEPARATOR); +
-        } +
-  +
-        if (personName.getName() != null +
-          && !personName.getName().isEmpty()) { +
-            sb.append(personName.getName()); +
-        } +
-  +
-        return sb.toString();+
     }     }
    
     @Override     @Override
     public PersonName convertToEntityAttribute(String dbPersonName) {     public PersonName convertToEntityAttribute(String dbPersonName) {
-        if (dbPersonName == null || dbPersonName.isEmpty()) { +       // DB column to object 구현
-            return null; +
-        +
-  +
-        String[] pieces = dbPersonName.split(SEPARATOR); +
-  +
-        if (pieces == null || pieces.length == 0) { +
-            return null; +
-        } +
-  +
-        PersonName personName = new PersonName();         +
-        String firstPiece = !pieces[0].isEmpty() ? pieces[0] : null; +
-        if (dbPersonName.contains(SEPARATOR)) { +
-            personName.setSurname(firstPiece); +
-  +
-            if (pieces.length >= 2 && pieces[1] != null +
-              && !pieces[1].isEmpty()) { +
-                personName.setName(pieces[1]); +
-            } +
-        } else { +
-            personName.setName(firstPiece); +
-        } +
-  +
-        return personName; +
-    }+
 } }
  
java/jpa/converter.txt · 마지막으로 수정됨: 2022/11/18 15:05 저자 kwon37xi