JPA 식별자JPA는 엔티티들을 논리적인 공간인 영속성 컨텍스트에서 관리하는데, 엔티티를 구분할 수 있는 식별자가 필요합니다. 식별자가 되는 필드는 엔티티 클래스의 @Id 애노테이션을 통해 지정할 수 있습니다.엔티티가 영속성 컨텍스트에 들어가 JPA에 관리되는 시점에는 반드시 식별자로 지정된 필드에 식별자 값이 할당되어 있어야 합니다.SEQUENCE(시퀀스) 전략JPA에서 엔티티에 식별자를 할당하는 방법은 여러가지가 있지만 그 중 Oracle, DB2, H2, PostgreSQL 등에서 사용할 수 있는 시퀀스 기능을 활용한 SEQUENCE 전략이 있습니다. SEQUENCE 전략은 DB에서 시퀀스 기능을 지원해야만 사용가능한 전략이므로 DBMS에 종속적인 식별자 할당 전략입니다.다음과 같이 user 테이블..
이전글[JPA] 엔티티 식별자 직접 할당하여 저장하기엔티티 식별자JPA는 엔티티를 관리하는 영속성 컨텍스트라는 공간이 있고 persist()를 통해 이곳에 저장된 엔티티 객체들은 JPA의 관리 대상이 됩니다. JPA의 관리 대상이 되었다는 것은 엔티티의 상태가 변경되면 DB에 해당 엔티티에 대한 데이터가 JPA가 생성한 쿼리에 의해 UPDATE 되어진다는 뜻이며, EntityManager를 통해 삭제, 삽입, SELECT 되어진다는 뜻입니다.그런데 JPA는 영속성 컨텍스트에서 관리되는 엔티티 객체들을 구분할 필요가 있는데, 이때 필요한 것이 식별자입니다. 식별자로 지정되는 속성은 @Id 애노테이션이 맵핑되어 있어야 합니다. 또한 속성에 맵핑되는 DB 테이블의 컬럼은 UNIQUE한 컬럼이어야 합니다. 즉 ..
JPA - Hibernate
2018. 7. 20. 22:47
[JPA] 엔티티 식별자 직접 할당하여 저장하기
엔티티 식별자JPA는 엔티티를 관리하는 영속성 컨텍스트라는 공간이 있고 persist()를 통해 이곳에 저장된 엔티티 객체들은 JPA의 관리 대상이 됩니다. JPA의 관리 대상이 되었다는것은 엔티티의 상태가 변경되면 DB에 해당 엔티티에 대한 데이터가 JPA가 생성한 쿼리에 의해 UPDATE 되어진다는 뜻이며, EntityManager를 통해 삭제, 삽입, SELECT 되어진다는 뜻입니다.그런데 JPA는 영속성 컨텍스트에서 관리되는 엔티티 객체들을 구분할 필요가 있는데, 이때 필요한 것이 식별자입니다. 식별자로 지정되는 속성은 @Id 애노테이션이 맵핑되어 있어야 합니다. 또한 속성에 맵핑되는 DB 테이블의 컬럼은 UNIQUE한 컬럼이어야 합니다. 즉 데이터가 중복되거나 NULL이 허용되는 컬럼이어서는 안..
JavaScript
2018. 6. 11. 18:00
[jQuery] jQuery $ 식별자 중복으로 충돌 방지하기
jQuery $ 식별자 충돌 방지하기jQuery는 $.each()와 같이 $ 식별자를 주로 사용합니다. 그런데 여러 자바스크립트 라이브러리를 사용하다 보면 이 $ 식별자를 사용하는 다른 라이브러리와 겹칠 수가 있습니다.예를 들어 PrototypeJS 라이브러리도 jQuery와 같이 $ 식별자를 사용하는데 둘 중 하나는 $ 식별자를 사용할 수 없게되는 문제가 있습니다.다음과 같이 jQuery를 먼저 불러오고 prototype.js를 나중에 불러오면 prototype.js가 $ 식별자를 점유하게 되면서 jQuery의 함수였던 $.each()를 존재하지 않는 함수가 되어버립니다. //prototype.js가 jQuery의 $를 겹쳐쓴다.반대로 jQuery가 $를 점유하게 되면 jQuery를 사용하는데에는 문제..