전체 글 썸네일형 리스트형 Spring Data JPA + QueryDSL에서 커스텀 DTO사용시 groupby, count Spring Data JPA + QueryDSL에서 커스텀 DTO사용시 groupby, count()를 사용하다보면 의도치 않은 오류인.. "Unsupported expression count(..)" 요놈을 만나게 된다. 물론 sum이든 뭐든.. 예로, 검색어를 저장하는 entity table이 아래와 같다고 해보자. id, keyword 그럼 이놈을 목록으로 보여줄때 keyword는 group으로 묶어주고 해당 키워드의 카운트를 보고 싶을 경우 "select keyword, count(keyword) from keywords group by keyword" 뭐 이런 형태가 될 것이고, entity는 커스텀 dto를 쓰게 된다. @Data @NoArgsConstructor @AllArgsConstruc.. 더보기 JPA 코드성 데이터의 매핑 이런 방식을 처리하는 방법은 많다. 그중 하나만 참고. 우성 Forum / ForumCategory Entity가 있다고 치자. forum id PK forumCategoryId forum_category id PK name 조건으로 하나의 forum이 하나의 category만 가질 수 있는 형태로 보자. 이경우 OneToOne이 바로 나오기는 하는데, 어쩐지 MapsId 나 OneToOne 자체에 대해 고민도 하고 그렇게 된다.. 근데 어짜피 카테고리의 관리 주체도 일반적인 사용자가 아니고 관리자이며, forum의 저장시 forum_category의 데이터 저장은 불필요하기 때문에(forum 테이블의 forumCategoryId 만 저장되면 된다.) 그런 고민이 과연 필요할까 싶다.?? 그냥 이 경우는.. 더보기 단일테이블의 Tree 구조를 위한 Self Join Oracle의 tree 구조 start with/connect by 형태와 동일하게 구현하고자 할 경우, JPA도 Self Releastion으로 처리할 수 있다. 가령 ForumCategory Entity가 존재한다면 다음과 같이 처리된다. public class ForumCategory { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id") private Long id; @Where(clause = "deleted='N'") @ManyToOne(cascade = { CascadeType.ALL }, fetch = FetchType.LAZY) @JoinColumn(name = "parentId") private ForumCa.. 더보기 Mint(Ubuntu 14.04) Gradle Version Mint(Ubuntu 14.04) 버전에서 바로 gradle 설치시(apt-get install gradle) 구 저장소를 보고 있으므로 gradle 1.4가 설치된다. 이경우 STS등에서 진행한 프로젝트의 경우 아래와 같이 버전 문제가 발생한다. org.gradle.api.tasks.TaskContainer.create(Ljava/lang/String;Ljava/lang/Class;)Lorg/gradle/api/Task; 설치된 gradle을 지우고 2.x대로 설치하자.https://launchpad.net/~cwchien/+archive/ubuntu/gradle$ sudo apt-get --purge remove gradle $ sudo add-apt-repository ppa:cwchien/grad.. 더보기 JPA - 필드에 Trim 적용하기 두가지의 방법이 있다. 첫번째는 JBoss-Hibernate에서 제공되는 @ColumnTransformer를 사용하는 방법과 Listener를 적용하는 방법. DB에 종속적인 모델이지만, 개인적으로는 첫번째 방법인 ColumnTransformer를 추천한다. ColumnTransformer를 적용하는 방법. .. @ColumnTransformer(write="trim(?)") @Column(name = "title", nullable = false) private String title;.. TrimListener를 만들어 적용하는 방법 @Trim Annotaion을 지정한다고 보면, Annotaion의 적용 대상은 method나 field일 것이다. 그러니 @interface의 적용 대상을 field,.. 더보기 이전 1 ··· 26 27 28 29 30 31 32 ··· 65 다음