반응형

분류 전체보기

    JPA 매핑 어노테이션 - DDL

    JPA 매핑에 사용되는 어노테이션은 크게 유형에 따라 4가지로 나누어진다.유형어노테이션객체와 테이블 매핑@Entity, @Table 기본 키 매핑@Id필드와 컬럼 매핑@Column연관관계 매핑@ManyToOne, @JoinColumn @EntityJPA를 사용해서 테이블과 매핑할 클래스에는 무조건 붙혀야하는 어노테이션이다. 속성으로 name을 지정할 수 있다. 안할 시 기본 클래스 이름으로 한다.1@Entity(name = "Member")cs - 기본 생성자가 필수로 있어야 한다. - final 클래스와 private 생성자는 할 수 없다. @Table엔티티와 매핑할 테이블을 지정한다. 생략하면 매핑하는 엔티티이름으로 대신한다. -name, catalog, schema, uniqueConstraints..

    JPA 영속성 컨테이너에서 엔티티 사용하기

    JPA에서 사용하는 영속성 컨테이너에서 사용되는 엔티티에 대해 정리해보자. 엔티티 생명주기영속성 컨테이너(Persistent Context)에서 존재하는 엔티티의 생명주기를 정리해보자. 엔티티는 4가지 상태가 존재한다. 이름 특징 비영속 영속성 컨텍스트와 전혀 관계가 없는 상태 (엔티티 객체가 생성만 되고 컨텍스트와 아무런 연관이 없는경우) 영속 영속성 컨텍스트에 저장된 상태 (엔티티 매니저를 통해서 영속성 컨텍스트에 저장되고 영속성 컨텍스트가 관리한다.) 준영속 영속성 컨텍스트에 저장되었다가 분리된 상태 (영속성 컨텍스트가 관리하던 영속 상태의 엔티티를 영속성 컨텍스트가 관리하지 않으면 준영속 상태가 된다. close(), clear(), detach() 메소드를 사용하면 준영속 상태가 된다. 삭제 삭..

    JPA persistence 설정 및 Entity manager 설명

    JPA를 사용하기 위해서는 persistence.xml을 이용하여 사용 설정을 해야한다. persistence-unit에 이름을 설정하고 각종 데이터베이스를 설정한다. 구조는 다음과 같이 되어있다.12345

    곰돌이 푸 다시 만나 행복해

    곰돌이 푸는 어렸을때 꿀을 좋아하던 곰이 나오는 만화로써 기억하고 있었다.크게 내 기억속에 자리 잡고 있지 않았던 만화였다. 이번에 디즈니에서 곰돌이푸를 대상으로 만화가 아닌 영화로써 출시 하였다. 어떻게 표현 하였고 어떤 내용을 담고 있는지 궁금하기도 했지만 곰돌이푸를 좋아하는 여자친구의 권유로 보게되었다. 주인공 크리스토퍼 로빈은 순수한 마음을 가지고 곰돌이 푸 친구들과 즐거운 유년시절을 보냈다. 하지만 학업, 전쟁, 생계 과정을 거치게 되면서 어린시절 가졌던 마음가짐을 잃고 무엇이 정답인지 모르고 그냥 가기 바쁜 우리들처럼 일상생활을 보내고 있었다.그렇게 살아가던 크리스토퍼 로빈은 우연히 찾아온 곰돌이 푸를 만나게 되고 소중한 것이 무엇이었는지 다시 한번 돌이켜 보게 되고 다시 그 곳으로 돌아가게 ..

    nodejs 비동기 프로그래밍을 위한 deferred

    node.js에서 비동기 프로그래밍을 위해서 사용할 수 있는 deferred 라이브러리를 정리해보자. 우선 deferred의 경우에는 이전글에 작성했던 Promise와 동일한 개념이다. (https://wedul.tistory.com/508) promise와 마찬가지로 deferred는 비동기로 작업을 진행하고 비동기 처리가 완료되고 resolve, reject 메소드를 실행해서 비동기 동작 이후에 결과를 전달 할 수 있다. 우선 필요한 라이브러리를 다운로드 받아보자. https://www.npmjs.com/package/deferred1npm i deferredcs 그리고 라이브러리 예제에 나와있는대로 deferred 라이브러리를 사용해서 비동기 프로그램을 실행시켜보면 간단하게 promise와 동일 한..

    Javascript promise에 대해 알아보자.

    기존에 ajax와 같은 비동기 요청이 종료가 되고 특정한 작업을 수행하고 싶을경우 콜백함수를 설정하여 진행했었다.1234567891011 Common.sendAjax({ url: Common.getFullPath('user/cert/check'), param: { 'otp' : $otpNum.val(), 'userId' : $joinEmail.val() }, type: 'POST', success: (e) => { // 성공 시 발생할 콜백함수 }, failed: () => { // 실패시 발생할 콜백함수 } });Colored by Color Scriptercs 이런 비동기 프로그래밍은 기존 동기식 프로그래밍 보다 작업을 요청하고 다른 작업을 할 수 있는 장점이 있다. 하지만 이는 그 유명한 콜백 지옥..

    JPA 기본 어노테이션 설명

    JPA에서 사용되는 기본적인 어노테이션 몇개를 정리해보자. @Entity- 클래스와 테이블과 매핑한다고 JPA에게 알려준다. 이렇게 @Entity가 사용될 클래스를 엔티티 클래스라고 한다. @Table- 엔티티 클래스에 매핑할 테이블 정보를 알려준다. (이 어노테이션을 생략하면 클래스 이름을 테이블정보로 매핑한다.) @Id- 엔티티 클래스의 필드를 테이블에 기본키로 매핑한다. (데이터베이스는 엔티티를 구별할때 이 키값으로 구분한다.) @Column- 필드를 컬럼에 매핑한다. 매핑 정보가 없는 필드- @Column을 생략하면 필드명을 사용해서 컬럼명과 매핑하게 된다. 만약 대소문자를 데이터베이스가 구분할 경우에는 꼭 위에 @Column어노테이션을 사용해서 진행해야한다. #Dialect(방언)- 데이터베이스..

    JPA(Java Persistence Api)의 장점과 단점 및 사용해야 하는 이유.

    국내에서는 Mybatis를 사용하지만 대기업과 여러 스타트업에서는 JPA를 사용하고 있는 추세이다. 그리고 세계적으로 JPA 특히 ORM 프레임워크인 하이버네이트 사용률이 더 높다.그래서 더 자세한 부분을 이해하기 위해서 공부를 시작했다. 공부 시작하기전에 왜 JPA가 좋은지 정리해봤다. 생산성- 개발자가 일일히 CRUD용 쿼리를 작성해줘야하던 Mybatis와 같은 Mapper방식은 컬럼이 추가되거나하면 수정해주어야하는 부분이 상당히 많았다. 이로 인해서 자바를 사용하지만 객체중심 개발이 아니라 데이터베이스 흐름으로 개발을 하게되는 문제가 있다. JPA를 사용하게 되면 쿼리를 직적 생성하는 것이 아니고 만들어진 객체로 데이터베이스를 다루기 때문에 객체 중심으로 개발을 진행할 수 있다. 유지보수- SQL을..

    node.js에서 aws s3 스토리지에 이미지 저장하기

    AWS에서 제공하는 S3 스토리지는 다양한 파일을 bucket에 보관할 수 있다. 자세한 내용은 생활코딩 강의 참고하면 좋다. https://opentutorials.org/course/608/3006 그럼 우선 aws sdk를 설치하여야 한다.1npm i aws-sdk --savecs 그리고 AWS IAM에서 생성한 사용자가 있어야 한다. 사용자는 S3에 대한 권한을 가지고 있어야 한다. 사용자를 생성하고 권한을 부여하는 기능은 어렵지 않기때문에 검색해서 적용하면 된다. 그리고 해당 사용자를 생성하면 csv 파일로 secretkey를 받을 수 있다. 이를 AWS S3에 접근하여 사용하기 위해서 사용된다. 기본 정보가 담긴 config.json 생성 우선 부여 받은 사용자 accessKeyId와 secr..

    swagger api 보안 oauth2 설명

    swagger ui 페이지가 아무에게나 노출되면 보안에 문제가 발생할 수 있다. 그래서 swagger 사용시에 접속권한이 있는 사용자만 접근 가능하도록 해야한다. 그 인증 방식중에는 여려가지 방식이 있는데 그 중 Oauth2 방식을 사용하는 법을 살펴보자. 우선 기본적인 swagger 설정이 되어 있어야 하고 그 부분은 이 곳에서 살펴보자. https://rokking1.blog.me/221349422825?Redirect=Log&from=postView 해당 링크에 들어가서 보면 swagger.js에 정의했었던 SwaggerDefinition을 보면 필요한 정보들을 입력하는데 보안을 적용하기 위해서 이 옵션 중에 가장 상위에 Security Definitions와 Security Requirements..

반응형