[JPA] Spring data jpa의 Auditing AuditEntityListener는 Spring data jpa에서 구현한 EntityListener이다. 쉽게말해 Java에서 ORM 기술은 JPA를 사용하여 도메인을 관계형 데이터베이스 테이블에 매핑할 때 공통적으로 도메인들이 가지고 있는 필드나 컬럼들이 존재합니다 대표적으로 새엇ㅇ일자 수정일자 식별자 같은 필드 및 컬럼이 있습니다. 도메인마다 공통으로 존재한다는 의미는 결국 코드가 중복된다는 말과 일맥상통 합니다. 그래서 JPA에서는 Audit 이라는 기능을 제공하고 있습니다. @PrePersist, @PreUpdate 설정을 통해 엔티티가 영속화 되기 이전에 AuditingHandler를 통해 생성일, 생성자, 수정일, 수정자를 자동으로 찾아서 설정한다. | Audit이란? Spring Data.. [JPA] JPA기본 정리 및 메서드 종류 JPA의 엔티티 매니저가 활성된 상태로(Spring Data JPA)를 사용하면 기본옵션이다. 트랜잭션 안에서 데이터베이스에서 데이터를 가져오면 이 데이터는 영속성 컨텍스트가 유지된 상태라고 한다. 이 상탱서 해당 데이터의 값을 변경하면 트랜잭션이 끝나는 시점에 해당 테이블에 변경분을 반영한다. 즉 Entity 객체의 값만 변경하면 별도로 Update 쿼리를 날릴 필요가 없습니다. Repositroy 구현 시 JpaRepository interface를 상솓 받으면 된다. -JpaRepositroy의 제네릭 타입에는 Entity 클래스와 PK의 타입을 명시해주면 된다. -CRUD작업이 간편하다 일반적으로 많이 사용하는 데이터 조작을 다루는 함수가 정의되어 있기 때문이다. JPA사용 시 @NoArgsCon.. [MyBatis]OGNL 표현식 | OGNL (Object Graph Navigation Language) MyBatis는 XML element를 줄이고 다양한 조건을 처리하기 위해 OGNL 표현식을 사용합니다. (jsp에서 주로 사용하는 JSTL 표현식이 OGNL이기 때문에 이를 사용하던 개발자는 MyBatis의 조건문에 적용하면 됩니다.) MyBatis는 "동적SQL처리" 를 지원하기 위해 지정된 엘리먼트들을 제공합니다. 그리고 기존 ibatis에서 제공되어지던 다수의 엘리먼트들은 OGNL기반의 표현식이 도입됨으로써 많이 사라지고 다음과 같은것들로 대체 됨으로써 개발자가 알아야할 엘리먼트의 개수는 줄었다는 장점이 존재합니다. if choose (when, otherwise) trim (where, set) foreach | if문 .. [JPA]@Id와@GeneratedValue 기본키 전략 | JPA 기본 키 전략 1. 직접 할당 @id 애노테이션으로 필드와 매핑한다. 자바 기본형, 래퍼형, String, Date, BigDecimal, BigInteger가 타입이 가능하다 2. IDENTITY 기본 키 생성을 데이타베이스에 위임한다. 데이타베이스의 auto_increment와 같은 기능을 사용할 때 쓴다. 키 필드에 @GeneratedValue(strategy = GenerationType.IDENTITY)를 사용한다. 이 전략을 사용하면 JPA는 기본 키 값을 얻어오기 위해 데이타베이스를 추가로 조회한다. 따라서 이 전략을 사용하는 엔티티를 새로 생성하여 식별자 값을 할당하려면 1차 캐시를 넘어서 데이타베이스에서 Insert한 후에 기본 키 값을 조회한다. 즉, persist()를 호출.. ORACLE -JOIN JOIN 2개이상 테이블을 연관짓는것 INNER JOIN 문법 EQUI JOIN : 동일컬럼을 기준으로 조인. 평균적으로 가장 많이 사용하는 조인. 마스터 테이블에 데이터는 1건인데 하지만 데이터 테이블은 여러개의 멤버가 있다. 두개 조인하면 신규테이블 생성. 보통 동일 컬럼은 PK키나 FK가 된다. 이때 FROM절의 TABLE을 사용하기 때문에 2개 이상이 된다. 따라서 테이블에 별명을 붙여준 후 SELECT문에서 별명.컬럼을 명시해주자 ~! 조인 한 결과를 GROP BY NON-EQUIJOIN = OUTER JOIN = (+) 아우터 조인 기호 정보가 부족한 쪽에 붙인다. ORACLE -VIEW 뷰란? - 뷰는 하나의 가상 테이블이라 생각 하면 된다. - 뷰는 실제 데이터가 저장 되는 것은 아니지만 뷰를 통해 데이터를 관리 할수 있다. - 뷰는 복잡한 Query를 통해 얻을 수 있는 결과를 간단한 Query로 얻을 수 있게 한다. - 한 개의 뷰로 여러 테이블에 대한 데이터를 검색 할 수 있다. - 특정 평가 기준에 따른 사용자 별로 다른 데이터를 액세스할 수 있도록 한다. 뷰의 제한 조건. - 테이블에 NOT NULL로 만든 컬럼들이 뷰에 다 포함이 되 있어야 한다. - ROWID, ROWNUM, NEXTVAL, CURRVAL등과 같은 가상컬럼에 대한 참조를 포함하고 있는 뷰에는 어떤 데이터도 INSERT 할 수 없다 - WITH READ ONLY 옵션을 설정한 뷰도 데이터를 갱신 할 수 없다.. 이전 1 2 3 4 다음