전체 글 105

[JPA] 객체지향 쿼리 언어

1. JPQL 가장 단순한 조회 방법 EntityManager.find() 객체 그래프 탐색 : a.getB().getC() JPA를 사용하면 엔티티 객체를 중심으로 개발 검색 시 테이블이 아닌 엔티티 객체를 대상으로 검색해야 함 검색 조건이 포함된 SQL이 필요 JPA는 SQL 을 추상화 한 JPQL이라는 객체지향 쿼리 언어 제공 SQL과 문법이 유사하지만 SQL은 아님 JPQL은 엔티티 대상 SQL은 DB대상 em.createQuery( “SELECT m FROM Member m WHERE m.USERNAME like ‘%EB%'" , Member.class ).getResultList(); 2. Creiteria 자바 코드로 JPQL 을 작성 가능 JPQL 빌더 역할 JPA 공식 기능 단점 : 너무..

Develope/DataBase 2021.09.26

[JPA] 2-4. 연관관계 매핑

객체지향스럽게 어떻게 설계하는지 제일 어려운 내용 객체가 지향하는 패러다임 vs 데이터가 지향하는 패러다임 목표 객체와 테이블 연관관계의 차이를 이해 객체의 참조와 테이블의 외래 키를 매핑 방항 (Direction) : 단방향, 양방향 다중성 (Multiplicity) : 다대일, 일대다, 일대일, 다대다 연관관계의 주인(Owner) : 객체 양방향 연관관계는 관리가 필요 연관관계가 필요한 이유 ‘객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것이다.’ 객체를 테이블에 맞추어 데이터 중심으로 모델링하면 협력 관계를 만들 수 없다 테이블은 외래 키로 조인을 사용해서 연관된 테이블을 찾는다. 객체는 참조를 사용해서 연관된 객체를 찾는다 단방향 연관관계 /** * Created by eunbi..

카테고리 없음 2021.09.24

[JPA] 엔티티 매핑

객체와 테이블 매핑 : @Entity, @Table 데이터베이스 스키마 자동 생성 : @Column 필드와 컬럼 매핑 : @Id 기본 키 매핑 : @ManyToOne, @JoinColumn 객테와 테이블 매핑 : @Entity, @Table 기본 생성자 필수(public/protected) final, enum, interface, innerclass 사용 불가 저장 필드에도 final 사용 불가 속성 @Entity(name = entityName) : 매핑할 엔티티 이름 @Table(name = tableName) : 매핑할 테이블 이름 데이터베이스 스키마 자동 생성 : @Column DDL을 애플리케이션 실행 시점에 자동 생성 객체 중심 DDL 생성 기능은 자동 생성 시에만 사용되고 실행 로직과는 무..

Develope/DataBase 2021.08.17

[JPA] 영속성 컨텍스트

https://www.inflearn.com/course/ORM-JPA-Basic/dashboard 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 본 강의는 자바 백엔 www.inflearn.com http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788960777330 자바 ORM 표준 JPA 프로그래밍 - 교보문고 스프링 데이터 예제 프로젝트로 배우는 전자정부 표준 데이터베이스 프레임 | ★ 이 책에서 다루..

Develope/DataBase 2021.08.12

[JPA] Spring + MariaDB + JPA 환경셋팅

0. docker로 mariaDB 설치 sudo docker search maria sudo docker pull mariadb:latest sudo docker images docker 이미지 실행 : sudo docker run --name mariadb -i -t -p 3306:3306 -e MYSQL_ROOT_PASSWORD=eunbi --name : 컨테이너 명 -p : 포트 포워딩 -e MYSQL_ROOT_PASSWORD : 초기 root 패스워드 지정 -v : Volume 데이터 저장 위치 docker exec -it mariadb /bin/bash MariaDB [(none)]> create databases JPA_EB MariaDB [(none)]> use JPA_EB MariaDB [..

Develope/DataBase 2021.06.23

[AI-역량강화] 협업 필터링(Collaborative Filtering) 관련 논문과 해당 모델의 특징

각 협업 필터링 모델은 논문에 기반한 것. 1. Neural Collaborative Filtering * Neural Collaborative Filtering (IWWWC, 2017년) 1) 개요 - 기존 Linear Matrix Factorization 의 한계점 지적 - Neural Ner 기반의 협업 필터링으로 non-linear한 부분을 커버 - user와 item 관계를 보다 복잡하게 모델링 할 수 있다. - Matrix Factorization은 Neural CF 의 한 종류 이다. 2) 구현 - User가 Item을 관측했는지에 따라 0또는 1로 표현한다. 선호도의 지표가 아닌 단순 관련성이다. - 바이너리이기 때문에 베르누이 분포를 이용한다. - Interaction Function F..

Develope/AI 교육 2021.05.31

[AI-역량강화] 추천 알고리즘 - 협업필터링 개념 및 용어 설명

* Model 기반 협업 필터링 - 머신러닝을 활용하여 주어진 데이터를 학습한다. - 항목간 유사성에서 벗어나 데이터의 패턴을 학습한다. - 유저의 잠재적 특성을 파악한다.(Latent Factor Model) * 이웃 기반 협업 필터링 - 메모리 기단의 협업 필터링 - 아이템과 유저 간의 데이터로 새로운 아이템을 예측한다. - 계산량이 적고 구현이 간단하다 - 안정적이며 새로운 콘텐츠를 추천할 수 있다. * Explicit 데이터 - 유저가 직접 입력한 데이터이기 때문에 품질이 좋다 - 데이터의 양이 적다. - 유저가 평가에 대한심리적 거부감으로 모두 참여하지 않기 때문에 데이터가 신뢰되기 어렵다. * Implicit 데이터 - 다양한 방법으로 데이터를 얻을 수 있다. - 데이터의 실제 의미를 파악하기..

Develope/AI 교육 2021.05.31

[AI-역량강화] 추천 알고리즘 개념 및 종류 정리

1. 컨텐츠 기반 추천 알고리즘 ■ 컨텐츠 기반 추천시스템 개요 1) 개요 - 컨텐츠가 비슷한 아이템을 추천한다. - 사용자가 과거에 경험했던 아이템 중 비슷한 아이템 추천 - 유저 A 가 높은 평점을 추거나 큰 관심을 갖은 아이템 X와 유사한 아이템 Y를 추천한다. 2) 중요점 - 컨텐츠의 특징들이 어떻게 이루어져 있는지 파악 - 특징들 간에 유사성을 파악 - 컨텐츠 분석하는 아이템 분석 알고리즘이 중요 - 선능을 높일 수 있는 적절한 컨텐츠를 사용 3) 장/단점 - 장점 : 다른 유저의 데이터가 필요하지 않다. 추천할 수 있는 아이템의 범위가 넓다. (다른 유저와 관계없이 추천 가능하다.) 추천의 이유가 명확하다. - 단점 : 적절한 특징을 찾아야 성능이 올라간다. Cold Start, 새로운 유저를..

Develope/AI 교육 2021.05.31