@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

Similar documents
Spring Data JPA Many To Many 양방향 관계 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제

내장서버로사용. spring-boot-starter-data-jpa : Spring Data JPA 사용을위한설정 spring-boot-devtools : 개발자도구를제공, 이도구는응용프로그램개발모드에서유 용한데코드가변경된경우서버를자동으로다시시작하는일들을한다. spri

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

10.ppt

13주-14주proc.PDF

<session-factory> <property name="hibernate.connection.driver_class">oracle.jdbc.driver.oracledriver</property> <property name="hibernate.connection.u

rmi_박준용_final.PDF

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

RDB개요.ppt

Spring Boot

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

강의 개요

FileMaker ODBC and JDBC Guide

쉽게 풀어쓴 C 프로그래밊

Microsoft PowerPoint - 10Àå.ppt

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

PowerPoint 프레젠테이션

DBMS & SQL Server Installation Database Laboratory

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

FileMaker ODBC and JDBC Guide

07 자바의 다양한 클래스.key

5장.key

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

TITLE

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2

PowerPoint 프레젠테이션

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

MySQL-Ch10

윈도우시스템프로그래밍

MySQL-.. 1

FileMaker 15 ODBC 및 JDBC 설명서

PowerPoint Presentation

비긴쿡-자바 00앞부속

Microsoft PowerPoint - 04-UDP Programming.ppt

FileMaker ODBC 및 JDBC 가이드

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

6장. SQL

untitled

신림프로그래머_클린코드.key

자바-11장N'1-502

09-interface.key

어댑터뷰

Chap12

예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US

5장 SQL 언어 Part II

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

Microsoft PowerPoint - Java7.pptx

05-class.key

PowerPoint 프레젠테이션

DocsPin_Korean.pages

ALTIBASE HDB Patch Notes

교육2 ? 그림

PowerPoint Presentation

윈도우시스템프로그래밍

Interstage5 SOAP서비스 설정 가이드

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 08.다형성

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

자바 프로그래밍

Microsoft PowerPoint - hci2-lecture12 [호환 모드]

ch09

OOP 소개

歯PLSQL10.PDF

Microsoft Word - Software Project Database Design_ver1.01_.docx

NoSQL

PowerPoint Presentation

Microsoft Word - SQL튜닝_실습교재_.doc

12-file.key

第 1 節 組 織 11 第 1 章 檢 察 의 組 織 人 事 制 度 등 第 1 項 大 檢 察 廳 第 1 節 組 대검찰청은 대법원에 대응하여 수도인 서울에 위치 한다(검찰청법 제2조,제3조,대검찰청의 위치와 각급 검찰청의명칭및위치에관한규정 제2조). 대검찰청에 검찰총장,대

PowerPoint Presentation

untitled

PowerPoint Presentation

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

JMF3_심빈구.PDF

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

201502IC1AP-1 DB 구축 2015 학년도 2 학기 프로젝트특강보고서 프로젝트명 : DB 구축 ( DB ) 2015 년 11 월 20 일 지도교수 : 황치곤교수님 학과 : 정보통신공학과 1팀제출자 : 역할성명학번 조장 조재석 조원 송찬호 2

sms_SQL.hwp

(Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory :

mytalk

자바GUI실전프로그래밍2_장대원.PDF

MySQL-Ch05

02 C h a p t e r Java

PowerPoint 프레젠테이션

Microsoft PowerPoint - QVIZMVUMWURI.pptx

Microsoft PowerPoint Python-DB

- 다음은 Statement 객체를사용해서삽입 (insert) 작업의예 String sql = "insert into member(code, name, id, pwd, age) values ("; int id = 10; sql = sql + id +, ;// 항목사이에

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

슬라이드 제목 없음

gnu-lee-oop-kor-lec10-1-chap10

14-Servlet


( )부록

쉽게 풀어쓴 C 프로그래밍

Web Application을 구성하는 패턴과 Spring ROO의 사례

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

Transcription:

1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL 에서참조 ) application.properties spring.datasource.platform=mysql spring.datasource.url=jdbc:mysql://localhost/onetoone_1?createdatabaseifnotexist=true spring.datasource.username=root spring.datasource.password=1111 spring.datasource.driver-class-name=com.mysql.jdbc.driver spring.datasource.sql-script-encoding=utf-8 spring.jpa.hibernate.ddl-auto=create spring.jpa.show-sql=true demo.model.emp.java @Entity public class Emp { @Id @GeneratedValue private Long empno; private String ename; /* PK 를마치외래키처럼이용해서 Addr 테이블과조인하려면 @PrimaryKeyJoinColumn 를 사용하면된다. @JoinColumn 처럼 addr_id 칼럼이생성되지않음 */ //JoinColumn 의 name 속성을생략하면 addr_addr 이름으로칼럼이만들어진다.

@OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.addr = addr; public Long getempno() { return empno; public void setempno(long empno) { this.empno = empno; public String getename() { return ename; public void setename(string ename) { this.ename = ename; public Addr getaddr() { return addr; public void setaddr(addr addr) { this.addr = addr; public String tostring() { return String.format( "Emp[empno=%d, ename='%s', address='%s']", empno, ename, addr.getaddress()); demo.model.addr.java @Entity public class Addr { @Id

@GeneratedValue private Long id; private String address; public Addr(String address) { this.address = address; public Long getid() {return id; public void setid(long id) { this.id = id; public String getaddress() { return address; public void setaddress(string address) { this.address = address; demo.repository.emprepository.java package demo.repository; import org.springframework.data.jpa.repository.jparepository; import demo.model.emp; public interface EmpRepository extends JpaRepository<Emp, Long> { demo.onetoone1application.java @SpringBootApplication public class Onetoone1Application implements CommandLineRunner{ public static void main(string[] args) { SpringApplication.run(Onetoone1Application.class, args); @Autowired EmpRepository emprepository; @Transactional

public void run(string...args) { List<Emp> emps = new ArrayList(); emps.add(new Emp(" 김길동 ", new Addr(" 서울 "))); emps.add(new Emp(" 나길동 ", new Addr(" 제주 "))); emps.add(new Emp(" 다길동 ", new Addr(" 뉴욕 "))); emprepository.save(emps); for(emp e : emprepository.findall()) { System.out.println(e.toString()); //1번사원이름을 " 김길동 " 의이름을 " 박길동 " 으로변경 // 주소를 " 서울 " 에서 " 하와이 " 로변경 // 아래두개의 DML이실행된다. //insert into addr (address) values (?) //update emp set addr_id=?, ename=? where empno=? Emp e1 = emprepository.findone(1l); Addr addr = new Addr(" 하와이 "); e1.setaddr(addr); e1.setename(" 박길동 "); //2 번사원 " 나길동 " 삭제, Addr 에서 2 번 " 제주 " 도삭제됨 //2 번사원은영속성컨텍스트에이미있으므로 DB 에쿼리하지않음 Emp e2 = emprepository.findone(2l); //2개의 delete DML이만들어진다.(emp, addr) //delete from emp where empno=? //delete from addr where id=? emprepository.delete(e2); 데이터확인하기

[ 실행결과 ] Hibernate: alter table emp drop foreign key FK_b1bolhhce7t698wamy15o3j47 Hibernate: drop table if exists addr Hibernate: drop table if exists emp Hibernate: create table addr (id bigint not null auto_increment, address varchar(255), primary key (id)) Hibernate: create table emp (empno bigint not null auto_increment, ename varchar(255), addr_id bigint, primary key (empno)) Hibernate: alter table emp add constraint FK_b1bolhhce7t698wamy15o3j47 foreign key (addr_id) references addr (id) Hibernate: insert into emp (addr_id, ename) values (?,?) Hibernate: insert into emp (addr_id, ename) values (?,?) Hibernate: insert into emp (addr_id, ename) values (?,?) Hibernate: select emp0_.empno as empno1_1_, emp0_.addr_id as addr_id3_1_, emp0_.ename as ename2_1_ from emp emp0_ // 메인출력 Emp[empno=1, ename=' 김길동 ', address=' 서울 '] Emp[empno=2, ename=' 나길동 ', address=' 제주 '] Emp[empno=3, ename=' 다길동 ', address=' 뉴욕 '] Hibernate: update emp set addr_id=?, ename=? where empno=? Hibernate: delete from emp where empno=? Hibernate: delete from addr where id=?