엔티티 매핑

JPA
  • 객체와 테이블 매핑 : @Entity, @Table
  • 기본 키 매핑 : @Id
  • 필드와 컬럼 매핑 : @Column
  • 연관관계 매핑 : @ManyToOne, @JoinColumn

@Entity(클래스) : 테이블과 매핑할 클래스, JPA가 관리함

@Table(클래스) : 엔티티와 매핑할 테이블 (생략시 엔티티명으로 적용)

  • uniqueConstraints(DDL) : DDL생성시 유니크 제약조건 만듬.

@Column(필드) : 칼럼을 매핑한다.

영속성 관리

JPA

개요

  • EntityManagerFactory : EntityManager를 만드는 공장. 애플리케이션에서 persistens.xml의 persistens-unit갯수 만큼만 있어야함
  • EntityManager : 요청이 올때마다 생성 해도 됨.(커넥션풀에서 커넥션 한개씩 이라고 생각해도 될듯)

persistencecontext4

  • persistence context(영속성 컨텍스트) : ‘엔티티를 영구 저장하는 환경’

특징

  • 영속 상태인 엔티티는 식별자 값이 반드시 있어야 한다. (식별자 값이없으면 예외 발생)
  • 트랜잭션 커밋 하는 순간 DB 반영힘 이를 플러시(flush)라 함

JPA 소개 JPA 시작

JPA

1. JPA 소개

하이버네이트 오픈소스 ORM 프레임워크가 나온 후 자바빈이 버려지고 하이버네이트, 이클립스링크등의 ORM 프레임워크로 자바 ORM 표준을 정한것이 JPA 이다.

JPA(Java Persistent API) : 관계형 데이터베이스에 접근하기 위한 표준 ORM 기술을 제공하며, 기존에 EJB에서 제공되던 엔터티 빈(Entity Bean)을 대체하는 기술이다. JPA는 JSR 220에서 정의된 EJB 3.0 스펙의 일부로 정의가 되어 있지만, JPA는 EJB 컨테이너에 의존하지 않으며 EJB, 웹 모듈 및 Java SE 클라이언트에서 모두 사용이 가능하다. 또한, JPA는 사용자가 원하는 퍼시스턴스 프로바이더 구현체를 선택해서 사용할 수 있다.

ORM(Object Relational Mapping) : 관계형 데이터베이스를 객체에 매핑.

왜 JPA를 사용해야 하는가?

  1. 생산성 : 지루하고 반복적인 CRUD 코드를 직접 작성하지 않아도 된다.
  2. 유지보수 : 엔티티에 필드를 하나만 추가해줘도 등록, 수정, 조회 자동으로 매핑 된다.
  3. 패러다임의 불일치 해결 : 관계형 DB로 객체지향적인 코딩이 가능해 진다.
  4. 성능 : 한번 조회한건 캐시를 사용함으로 똑같은걸 2번 조회 하지 않는다.(1차캐시)
  5. 데이터 접근 추상화와 벤더 독립성 : 방언을 통해 자유자제로 다른 DB로 변경이 가능 하다.
  6. 표준 : 자바 진영의 ORM 표준이다.

스프링부트 jre 2개 추가 오류

201606121433
최근에 스프링 부트 그래들 프로젝트를 생성시에 jre 2개가 잡히는 문제가 발생하였습니다.

그래서 jdk를 지웠다 다시 설치 해보기도 하였으며 결국 sts를 지우고 다시 깔았지만 동일한 현상이 지속되었습니다.

그러던중 .classpath에 들어가서 확인해보니 자바 라이브러리를 불러오는 부분에서

이클립스 프로젝트 자바스크립트 플러그인 추천!

이클립스에서 스프링 이나 JSP 프로젝트를 진행 하였을 경우 자바스크립트코딩을 할경우 컨트롤 + 스페이스 자동완성 기능을 사용하지 못하여서 불편함이 있었습니다. 그래서 찾은 플러그인 중에 추천해줄 만한 플러그인을 찾아 공유 하고 싶어 글을 작성 하게 되었습니다.

1. 설치

2016-05-28

Tern Eclipse IDE 를 인스톨을 눌러서 설치 합니다.

※저는 느린 인터넷이라 그런지 설치시 20분이 소요 되었습니다… ㅠ

자바스크립트 쿠키 간단 사용법

개요

쿠키를 사용할일이 있어 공부를 하다가 정리 할겸 블로그에 작성 합니다.
document.cookie 를 자바스크립트 콘솔에 입력하면 해당 도메인의 쿠키값들이 나옵니다.
문자열형태로 나오며 “키=벨유; 키=벨유; 키=벨유” 형식으로 존재합니다.

W3Schools를 보고 참조 하였습니다.
http://www.w3schools.com/js/js_cookies.asp

쿠키값은 총 3개의 파라미터로 구성되며

  • 키=벨유 : MAP형식으로 키와 벨유를 저장
  • expires=Date타입값 : 쿠키 제한 시간을 정함
  • path:쿠키 생성 위치 : 쿠키 생성 위치를 지정

데이터 마이닝(빅 데이터?)

데이터 마이닝(data mining)은 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아 내는 것이다. 다른 말로는 KDD(데이터베이스 속의 지식 발견, knowledge-discovery in databases)라고도 일컫는다.

데이터 마이닝은 통계학에서 패턴 인식에 이르는 다양한 계량 기법을 사용한다. 데이터 마이닝 기법은 통계학쪽에서 발전한 탐색적자료분석, 가설 검정, 다변량 분석, 시계열 분석, 일반선형모형 등의 방법론과 데이터베이스 쪽에서 발전한 OLAP (온라인 분석 처리:On-Line Analytic Processing), 인공지능 진영에서 발전한 SOM, 신경망, 전문가 시스템 등의 기술적인 방법론이 쓰인다.

데이터 마이닝의 응용 분야로 신용평점 시스템(Credit Scoring System)의 신용평가모형 개발, 사기탐지시스템(Fraud Detection System), 장바구니 분석(Market Basket Analysis), 최적 포트폴리오 구축과 같이 다양한 산업 분야에서 광범위하게 사용되고 있다.