Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Tip

JPA의 컨셉은 Java Persistence API 의 약자로 두가지 큰 목적을 가지고 있습니다.있으며

  • 데이터 베이스에 존재하는 모델링을 자바객체로 맵핑을 시킴
  • SP/SQL방식을 최대한 억제하고, OOP중심적 Entity설계및 영속성 Repository를 통한 데이터 제어

JPA와 별개로 데이터베이스를 잘 활용하는 방법은 데이터베이스를 잘 이해하는것임으로

다른 웹요소보다 조금더 많이 다룰예정입니다.

설명을 위해, 축약된 코드로 진행되며, 풀소스는 아래에서 확인가능 하며


여기서 사용된 설명코드들은, 실제 작동가능한 코드들입니다위 특징은, 스프링의 웹요소와 연동할때도 유용하게 쓰입니다.


CodeLink : http://git.webnori.com/projects/WEBF/repos/spring_jpa/browseJPA 개념 추가설명

Expand
title목차펼치기

Table of Contents

...

Code Block
languagesql
themeEmacs
-- 사용자생성
INSERT INTO `spring`.`user`
(`id`,
`email`,
`name`)
VALUES
(<{id:}>,
<{email: >,
<{name:}>);

-- 사용자 조회
SELECT * FROM user



JPA

...

RelationShip

...


일반적으로 DB의 테이블은 하나의 테이블에 모든 정보를 포함하여 설계하지않고,

...

nativeQuery , true/flase에따라 작동방식이 변경가능하며 , 특수한 경우가 아니면

JPQL사용이 권장됩니다.


다른 유용한 사이트:

JPA 개념 설명 : http://blog.woniper.net/255




Info

다른 진영(.net) 에서도 JPA와 유사한 스펙을 가지고 있습니다.

Entity Framework : https://docs.microsoft.com/en-us/ef/core/

NHibernate : https://en.wikipedia.org/wiki/NHibernate /


http://www.sqler.com/401779


서로의 어플리케이션진영에서 데이터베이스를 어떻게 다룰것인가?

에대한 고민이 비슷해 보이며 서로에게 영향을 주면서 계속 발전중인듯보입니다.

마치 웹에서 MVC패턴 적용이 진영간 표준화 된것처럼

데이터베이스를 다루는 기술도 표준화를 이끌어내기를 기대해봅니다.


진영간 유사한 스펙에 다른 기술적 차이


JAVA(JPA).NET(EntityFrame)
모델정의Entity-클래스클래스
Persitent 저장소명RepositoryDbContext
쿼리툴QueryDSLLinq