Hibernate @NotNull와 @Column(nullable = false)
1. 종속성 예제에서 Spring Boot 애플리케이션을 사용한다. 다음은 필요한 종속성을 보여주는 pom.xml 파일이다. <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artif...
1. 종속성 예제에서 Spring Boot 애플리케이션을 사용한다. 다음은 필요한 종속성을 보여주는 pom.xml 파일이다. <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artif...
1. 변환기 생성 사용자 정의 Java 클래스에 대한 속성 변환기를 구현하는 방법이다. 먼저, 나중에 변환될 PersonName 클래스를 만든다. public class PersonName implements Serializable { private String name; private String surname; // g...
1. Data Model Context Company라는 테이블을 정의한다. 회사 테이블에는 회사 이름, 주소, 전화번호와 같은 기본 정보와 연락처 정보가 저장된다. public class Company { private Integer id; private String name; private String address;...
1. 고려사항 일반적으로 동등성은 단순히 두 객체가 동일하다는 것을 의미한다. 그러나 Java에서는 Object.equals() 및 Object.hashCode() 메서드를 재정의하여 동등성의 정의를 변경할 수 있다. 궁극적으로 Java는 동등함이 무엇을 의미하는지 정의할 수 있도록 한다. 그러나 먼저 고려해야 할 몇 가지 사항이 있다. 1) Col...
1. 유래 이러한 주석은 모두 필드 크기를 전달하기 위한 것이다. @Size와 @Length는 유사하다. 두 주석 중 하나를 사용하여 필드 크기의 유효성을 검사할 수 있다. 전자는 Java 표준 주석인 반면 후자는 Hibernate에만 해당 된다. @Column은 DDL 문을 제어하는데 사용하는 JPA 주석 이다. 2. @Size 검증을 위해 @...
1. 기본 테이블 이름 JPA 기본 테이블 이름 생성은 구현에 따라 다르다. 예를 들어, Hibernate에서 기본 테이블 이름은 첫 글자가 대문자인 클래스 이름이다. 이는 ImplicitNamingStrategy 계약을 통해 결정된다. 그러나 PhysicalNamingStrategy 인터페이스를 구현 하여 이 동작을 변경할 수 있다. 2. @T...
1. 기본 유형 JPA는 기본 유형이라고도 하는 엔터티의 지속 가능한 필드로 다양한 Java 데이터 유형을 지원한다. 기본 유형은 데이터베이스의 열에 직접 매핑된다. 여기에는 Java 기본 요소 및 해당 래퍼 클래스, String, java.math.BigInteger 및 java.math.BigDecimal, 사용 가능한 다양한 date-time ...
1. Entity를 생성하는 동안 기본 열 값을 설정하는 첫 번째 방법은 이를 엔터티 속성 값으로 직접 설정하는 것이다. @Entity public class User { @Id private Long id; private String firstName = "John Snow"; private Integer age = 2...
1. JPA Entity Lifecycle Events JPA는 다음과 같이 호출되는 7개의 선택적 수명 주기 이벤트를 지정한다. 새로운 엔터티에 대해 지속성이 호출되기 전 - @PrePersist 새로운 엔터티에 대해 지속성이 호출된 후 - @PostPersist 엔터티가 제거되기 전 - @PreR...
1. Helper Methods 여기에서 helper methods를 일관되게 사용한다. HibernateLifecycleUtil.getManagedEntities(session) - 세션의 내부 저장소에서 모든 관리되는 엔터티를 가져오는데 이를 사용한다. DirtyDataInspector.getDirtyEntitie...