본문 바로가기

반응형

java

(4)
[하이버네이트 유저 가이드 파헤치기] BasicTypeRegistry & Explicit BasicTypes - 2.3.4, 2.3.5 2.3.4. BasicTypeRegistry 우리는 이전에 하이버네이트 타입은 자바(JAVA) 타입도 SQL 타입도 아니지만, 하이버네이트 타입은 둘(자바 타입, SQL 타입) 모두를 이해하며 둘 사이의 변환을 수행한다고 언급했었다. 그러나 이전 챕터의 Example 3. 에서 어떻게 하이버네이트는 org.hibernate.type.StringType과 java.lang.String 속성이 연결되며, org.hibernate.type.IntegerType은 어떻게 java.lang.Integer 속성으로 연결되는지 알았을까? 정답은 org.hibernate.type.BasicTypeRegistry라고 불리는 하이버네이트 내부의 서비스에 있다. org.hibernate.type.BasicTypeRegist..
[하이버네이트 유저 가이드 파헤치기] 매핑 타입 - 2.1 2.1 매핑 타입 (Mapping types) 하이버네이트는 애플리케이션 데이터의 자바와 JDBC 표현을 모두 이해한다. 애플리케이션 데이터를 데이터베이스에서 조회하고 입력하는 기능은 하이버네이트 타입의 기능이다. 이런 사용 사례에서 타입은 org.hibernate.type.Type interface의 구현이다. 또한, 이 하이버네이트 타입은 자바 타입의 동등성 확인 방법이나 값 복사와 같은 다양한 행동적 측면을 설명한다. 필자 해설 잘 이해가 안 될 수 있는 대목이다. 이후 유저 가이드에서 자세하게 다룰 부분이지만 대략적으로 설명하겠다. 하이버네이트 타입 중 StringType은 JDBC 타입 VARCHAR과 자바 타입 java.lang.String를 연결해준다. 그렇기 때문에 애플리케이션 데이터를 D..
[하이버네이트 유저 가이드 파헤치기] 도메인 모델 - 2 Domain Model 도메인 모델이라는 용어는 데이터 모델링에서 유래되었다. 도메인 모델은 궁극적으로 당신이 작업하고 있는 문제 도메인을 설명하는 모델이다. 또한, 당신은 때때로 persistent classes라는 용어를 들어보았을 것이다. 궁극적으로 애플리케이션 도메인 모델은 ORM의 주요한 특성이다. ORM은 당신이 도메인 모델과 연결하기 원하는 클래스를 구성한다. 만약, POJO나 자바 프로그래밍 모델을 따르는 클래스라면 하이버네이트는 최고로 동작한다. 그러나, 이 규칙들은 전혀 어려운 요구사항이 아니다. 사실, 하이버네이트는 매우 조금만 당신의 persistent objects에 대해서 가정한다. (거의 가정하지 않는다는 뜻) 당신은 도메인 모델을 다른 방법으로도 표현할 수 있다. ( 예를 들..
[하이버네이트 유저 가이드 파헤치기] 들어가며 - 0 들어가며 처음 개발자로 일을 시작한 시점(2017년)에는 mybatis라는 SQL Mapper를 사용해서 개발을 했었습니다. 아무래도, 당시에는 한국 IT 개발이 SI 중심으로 이루어져서 그런 것 같습니다. 그런데 최근 몇년간 IT 서비스를 개발하는 스타트업들이 많아지고 투자도 많아져서 그런지 JPA를 많이들 사용하기 시작한 것 같습니다. 많은 개발자들이 입사하고 싶어하는 네카라쿠배당토 같은 회사들에서 JPA를 적극적으로 사용하고 있기 때문에 그런지도 모르겠습니다. 아래 구글 트렌드를 보니, 확실히 JPA의 관심도가 꾸준히 올라갔고 최근에는 마이바티스와 거의 비등해지고 있는 것을 알 수 있습니다. 저는 개인 프로젝트에 JPA를 적용하기 시작해 실무에서 JPA를 사용한지 2년이 넘었습니다. 처음에는 김영한..

반응형