최근 올라온 글이에요!
-
[JPA] No converter found capable of converting from type [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [com.web.blog.dto.post.PostidandviewcntWrapperclass] 오류JPA 2023.07.09 15:18
No converter found capable of converting from type [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [com.web.blog.dto.post.PostidandviewcntWrapperclass 오류 안녕하세요? 장장스입니다. 오늘은 JPA 사용 도중 발생한 오류 처리 방법을 정리입니다. JPQL 프로젝션에서 발생하는 문제 List memberDtoList = em.createQuery("select MemberDto(m.username, m.age) from Member m", MemberDto.class) .getResultLis..
-
[JPA] 공통 매핑 정보 @MappedSuperclassJPA 2023.07.09 10:59
[JPA] 공통 매핑 정보 @MappedSuperclass 안녕하세요? 장장스입니다. 오늘은 JPA에서 공통 매핑 정보를 편리하게 사용하는 @MappedSuperclass 에 대해 정리해보겠습니다. 실무에서 공통으로 사용되는 칼럼들 실무에서 테이블을 만들 때 보통 최초생성자와 생성시간, 최종수정자와 수정시간을 저장하는 칼럼들을 사용한다. 매번 반복되는 테이블 칼럼을 반복해서 사용하는 것은 개발자에게 꽤나 번거로운 일이 될 것이라 생각한다. JPA에는 이처럼 공통적으로 매핑되는 칼럼을 쉽게 사용할 수 있도록 @MappedSuperclass 어노테이션을 통해 기능을 제공합니다. @MappedSuperclass 위에서 언급한 최초생성자와 생성시간, 최종수정자와 수정시간을 공통으로 작성할 수 있도록 BaseEn..
-
[JPA] 상속관계 맵핑 @Inheritance, @DiscriminatorColumnJPA 2023.06.25 15:03
상속관계 맵핑 @Inheritance, @DiscriminatorColumn 안녕하세요? 장장스입니다. JPA 상속관계 맵핑 @MappedSuperclass 에 대해 정리해보겠습니다. 상속관계 맵핑 일반적인 관계형 데이터베이스는 슈퍼타입 서브타입 관계라는 모델링 기법이 있습니다. JPA에서는 슈퍼타입 서브타입 관계를 상속을 활용하여 구현할 수 있습니다. @Inheritance @Inheritance 어노테이션의 strategy 속성을 통해 전략을 선택 할 수 있습니다. @DiscriminatorColumn 어노테이션은 부모 클래스에 선언합니다. 하위클래스를 구분하는 용도의 칼럼을 사용합니다. name 속성을 통해 이름을 설정할 수 있습니다. default 값은 DTYPE 입니다. @Entity @Get..
-
[JPA] 단방향 양방향 연관관계와 다중성 #다대일 #일대다 #일대일 #다대다JPA 2023.06.25 01:16
[JPA] 단방향 양방향 연관관계와 다중성 #다대일 #일대다 #일대일 #다대다 안녕하세요? 장장스입니다. JPA는 자바 진영의 표준 ORM(Object Relational Mapping)입니다. ORM에서 가장 중요한 것이 객체와 모델 사이의 관계를 정의하는 것입니다. 각 모델과의 연관 관계를 자바 코드로서 객체로 옮기는 것에 백퍼센트 정답은 없습니다. 구현하고자 하는 서비스의 도메인과 요구사항에 따라 적절하게 연관 관계를 정의해야 합니다. 단방향 관계, 양방향 관계 데이터베이스에서 테이블과 조인할때, 외래키(FK)로 하나로 양쪽 테이블을 조인이 가능합니다. 때문에 데이터베이스에서 테이블과 다른 테이블에는 방향이 없습니다. 반면에 JPA에서는 객체(엔티티)를 통해 또다른 객체(엔티티)를 참조합니다. Or..
-
[JPA] 기본키(PK) 매핑 전략 IDENTITY, SEQUENCE, TABLE, AUTOJPA 2023.05.20 16:28
[JPA] 기본키(PK) 매핑 전략 GenerationType.IDENTITY GenerationType.SEQUENCE GenerationType.TABLE GenerationType.AUTO 안녕하세요? 장장스입니다. 오늘은 기본키(PK) 매핑 전략에 대해 정리해보겠습니다. 기본키 맵핑 어노테이션 @Id 기본키를 사용자가 직접 할당하여 사용한다. @Id private String id; @GeneratedValue 기본키를 자동생성할때 사용한다. @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; 기본키를 자동생성하는 @GeneratedValue 어노테이션은 4가지 전략이 있다. @GeneratedValue (strategy = ..
인기글
-
[OS] 페이지 교체 알고리즘 (FIFO, LRU, LFU, NRU, NUR)
페이지 교체 알고리즘 (FIFO, LRU, LFU, NRU, NUR) 안녕하세요? 장장스입니다. 가상 메모리 기법을 구현하는 방식 중 하나인 요구 페이징 방식은 페이지 부재가 발생하게 됩니다. 페이지를 교체하는 작업은 오버헤드를 동반하므로 가능하면 페이지 교체가 적게 일어나도록 하는 것이 좋습니다. 페이지 교체가 무엇인지, 페이지 교체 페이지 부재(page fault)가 발생하면 요청된 페이지를 디스크에서 메모리로 읽어와야 합니다. 이때 물리적 메모리에 빈 프레임이 존재하지 않을 수 있습니다. 이 경우 물리적 메모리에 올라와 있는 페이지 중 하나를 선택해서 디스크의 스왑 영역으로 보내야 합니다. 이와 같은 과정을 페이지 교체라고 합니다. 페이지 교체 알고리즘 어떠한 프레임에 있는 페이지를 디스크의 스왑 ..
-
자바 스트림 설명부터 사용하는 이유 파헤쳐보기 #JAVA #스트림
자바 스트림 설명부터 사용하는 이유 파헤쳐보기 #JAVA #스트림 안녕하세요? 장장스입니다. 오늘은 자바 스트림에 대해서 정리해 보겠습니다. 스트림(Stream)이란 무엇인가? 스트림(Stream)은 자바 8 API에 새로 추가된 기능이다. 스트림을 이용하면 선언형(더 간결하고 가독성이 좋도록)으로 컬렉션 데이터를 처리할 수 있다. ※ JAVA Colletion Data의 상속구조 일단 스트림이 데이터 컬렉션 반복을 멋지게 처리하는 기능이라고 생각하자. 또한 스트림을 이용하면 멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있다. 예를 들어, Dish 클래스의 리스트 형태인(List) menu 리스트가 있을 때, 저칼로리 순서대로 음식명을 추출하고자 한다. //1. low 칼로리 음..
-
[제이쿼리] 제이쿼리 그리드(jQuery grid) 사용방법
제이쿼리 그리드(jQuery grid) 사용방법 안녕하세요? 장장스입니다. 오늘은 제이쿼리 그리드 사용방법에 대해서 정리해보려고 합니다. 이런 깔끔한(?) Grid 테이블을 생성하고 싶으시다면 제이쿼리 그리드를 사용하면 정말 편리하게 만들 수 있답니다. 제이쿼리 그리드 다운로드 먼저 제이쿼리 그리드를 다운로드해주세요. ▼jQuery-Grid Download jQuery Grid Plugin – jqGrid » Downloads Downloads www.trirand.com 제이쿼리 UI 다운로드 ▼앙상한 그리드 디자인 제이쿼리 그리드만 사용하게 되면 위 사진처럼 앙상한(?) 디자인이 나온답니다. 이쁘게 보일려면 제이쿼리 UI를 설치해주세요. ▼jQuery-UI download jQuery UI jQuer..
-
[제이쿼리] jQuery 에이작스 (Ajax) 사용하기
제이쿼리 (jQuery) 에이작스 (Ajax) 사용하기 안녕하세요? 장장스입니다. 오늘은 제이쿼리의 꽃(?) 같은 Ajax 입니다. Ajax란? Ajax(Asynchronous JavaScript and XML)란 비동기 방식의 Javascript와 XML을 가리킵니다. 동기 방식 비동기 방식 서버에 신호를 보냈을 떄 응답이 돌아와야 다음 동작을 수행한다. 서버에 신호를 보냈을 때 응답 상태와 상관없이 다음 동작을 수행할 수 있다. Ajax? Ajax를 이용하는 이유는 화면 전환 없이 클라이언트(사용자 컴퓨터)와 서버간에 XML, JSON(JavaScript Object Notation), 텍스트, HTML 등의 정보를 교하기 위해서입니다. Ajax가 등장하기 전에는 반드시 서버를 거쳐야만 자료를 요청할..