반응형 분류 전체보기580 [JPA] 단방향 매핑과 양방향 매핑 테이블 환경에서는 JOIN문을 이용하여 두 테이블간의 양방향 매핑이 가능하지만, 객체 환경에서라면 말이 달라진다. 그렇다면 객체에서는 어떻게 단방향/양방향 매핑을 구현할 수 있는지 알아보자. 참고로, JPA에서 엔티티를 저장할 때 연관된 모든 엔티티는 영속 상태여야 한다는 점에 주의하자. 1. 단방향 매핑 단순히 객체의 멤버로 객체를 지정하면 된다. package com.example.jpastudy.entity; import lombok.Getter; import lombok.Setter; import javax.persistence.*; @Entity @Getter @Setter public class Member { @Id @GeneratedValue private Long id; @Column(n.. 2021. 8. 18. Kakao Developer 서로 팀원 되어줄 분 구합니다! 사업자 등록을 하기 곤란한 이유로 팀원들 상대로만 테스트 중이신 분들 중에서, 충분한 팀원이 필요하신 분은 댓글로 카카오톡 ID 남겨주시기 바랍니다. 제가 여러분의 팀의 테스터로 들어가고, 여러분은 제 팀의 테스터로 들어오는 겁니다. 너무 번거롭지 않은 선에서 간단한 테스트도 도와드릴 수 있습니다. 2021. 8. 17. [JPA] EntityManager / persistence.xml 이번 포스팅에서는 실제로 JPA를 이용하여 간단한 트랜잭션 체계를 만들어볼 것이다. 1. EntityManager와 EntityManagerFactory 예제에 들어가기 전에 알아둬야 할 클래스들이다. 1) EntityManager (1) 역할 - Entity의 생명 주기와 트랜잭션 등을 관리하며, 영속성 컨텍스트에 접근하는 객체다. - 가급적 쓰레드 간에 공유해서는 안되고(동시성 문제), 사용하고 나면 바로 버려야 함 - 컨테이너가 관리하는 EntityManager(JavaEE와 서버 필요)와 애플리케이션이 관리하는 EntitiyManager(JavaEE와 JavaSE에서 모두 사용 가능)로 나뉨 (2) 메소드 find(Class entityClass, Object primaryKey) - SELECT.. 2021. 8. 16. [JPA] Entity Annotations ※ JPA 어노테이션들은 javax.persistence 패키지에 있다. 1. @Entity 1) 설명 : DB랑 매핑하는 클래스 2) 속성 - name 속성으로 JPA에서 사용할 엔티티 이름을 지정할 수 있으며, 생략하면 클래스 이름을 사용한다. 다른 패키지에 이름이 같은 엔티티 클래스가 있을 때 충돌을 막기 위해 사용할 수 있다. 3) 주의 사항 - 생성자는 필수로 있어야 한다. 자바에서는 생성자를 따로 직접 만들지 않았다면 기본 생성자를 자동으로 만들어준다. - final, enum, interface, inner 클래스에는 사용할 수 없다. - 필드에 final을 사용할 수 없다. 2. @Table 1) 설명 : 엔티티 클래스에 매핑할 테이블 정보를 설정 2) 속성 (1) name : 매핑할 테이.. 2021. 8. 16. [JPA] JPA 소개 및 프로젝트 준비 1. ORM, JPA, Hibernate란? 이 셋을 묶어서 설명하는 것이 가장 효율적일 것 같다. ORM(Object Relational Mapping) : 객체와 관계형 데이터베이스(RDB)를 매핑시켜주는 프레임워크 JPA(Java Persistent API) : Java 진영의 ORM 기술 표준 Hibernate : JPA를 구현한 ORM 프레임워크들 중 하나 ※ JPA는 표준이기 때문에 다른 구현 기술(H2, Oracle, MySQL 등)로 손쉽게 변경할 수 있다. 2. JPA의 장단점 1) 장점 (1) 높은 생산성, 편한 유지보수 - 객체와 관계형 데이터베이스의 패러다임 불일치 문제를 해결 ※ 상속관계(객체-상속, 테이블-슈퍼/서브 타입), 연관관계(객체-참조, 테이블-외래키), 객체 동일성 비.. 2021. 8. 14. [OpenAPI] 네이버 지도 API(4) - 데이터베이스 연동 지난 포스팅에서는 다음과 같이 마커와 정보창을 손수 추가해줬다. https://kimcoder.tistory.com/351 저번 예제에서는 마커를 2개만 썼기 때문에 큰 문제는 없었다. 그러나 나중에 마커의 수가 매우 많아지면, 코드의 수도 매우 길어지고 그만큼 유지 보수도 매우 힘들어질 것이다. 즉, 우리는 DB에서 데이터를 가져오는 기능을 수행하는 php파일을 작성하고, javascript의 ajax를 이용해서 해당 php파일에 접근할 것이다. 1. DB 확인 (Mysql) Mysql에 home테이블을 생성하고, (이름, 위도, 경도) 데이터 쌍을 가지는 레코드를 2개 추가했다. (phpMyAdmin 사용법) https://kimcoder.tistory.com/9 서버 호스팅 구매없이 DB외부접근 허.. 2021. 8. 13. 김코더 블로그 1주년! + 수익 공개 안녕하세요 김코더 김주역입니다! 작년 8월부터 블로그를 시작해서 벌써 1년이 되었네요 ㅎㅎ 먼저, 제가 이 블로그를 시작한 이유는 이렇습니다. 배운 내용이 가물가물할 때 빠르게 상기하기 위해 남을 가르치는 것을 좋아하기 때문에 (교육자라는 또 다른 꿈도 있음!) IT 블로거를 평소에 멋있게 생각했기 때문에 글 쓰는 연습을 하기 위해 저는 올해로 24살이며 학부생입니다. 블로그를 개설하고 1년간 300개 이상의 글을 열심히 쓰면서, 저는 단 한번도 블로그 활동이 지쳤던 적이 없습니다. 그 이유는 꾸준히 늘어가는 방문자수와 관심 덕분이었습니다. 노력에 대한 댓가를 받는 느낌이어서 너무 행복했고, 이 행복이 블로그 활동의 원동력이 되었습니다♡. 그리고 블로그에 달리는 모든 질문들에 대해 답변을 남기면서도 많이.. 2021. 8. 11. [OpenAPI] 네이버 지도 API(3) - 마커와 정보창 표시 지도 API에서는 아래 이미지와 같이 특정 좌표에 마커와 정보창을 표시하는 기능을 제공한다. 이번 예제에서는 필자와 필자의 애인의 집 주소에 마커를 찍고, 마커 위에 누구의 집인지 정보창으로 표시해볼 것이다. 먼저 전체 소스 코드를 보여주고 각각의 내용을 설명해보도록 하겠다. 1. 전체 소스 코드 2. 소스 코드 부분 설명 1) HTML 부분 ... javascript에서 네이버 지도에서 제공하는 클래스들을 이용하기 위해, 태그로 maps.js 파일을 불러왔다. 그리고 지도는 웹 페이지의 전체 화면에 표시되게 하였다. vh는 웹 페이지의 높이를 100분의 1단위로 쪼갠 것이다. 2) Map 생성 map = new naver.maps.Map('map', { center: new naver.maps.LatL.. 2021. 8. 11. [OpenAPI] 네이버 지도 API(2) - javascript 튜토리얼 1. API 문서 페이지 소개 아래 링크는 javascript로 지도를 표현하는 방법들에 대해 안내하는 문서이다. https://navermaps.github.io/maps.js.ncp/docs/tutorial-2-Getting-Started.html NAVER Maps API v3 NAVER Maps API v3로 여러분의 지도를 만들어 보세요. 유용한 기술문서와 다양한 예제 코드를 제공합니다. navermaps.github.io 해당 문서로 들어가서 Tutorials, Examples를 참고하며 학습하면 된다. 2. 기본 예제 1) 샘플 코드 [Tutorials -> 시작하기 -> Hello, World]에 있는 샘플 코드이다. 이 샘플 코드에서 필자가 밑줄친 부분에, 여러분이 생성한 애플리케이션의 .. 2021. 8. 10. 이전 1 ··· 25 26 27 28 29 30 31 ··· 65 다음