본문 바로가기

웹/백엔드3

[TypeORM] 커스텀 값 entity에 매핑하여 들고오는 법 아래와 같은 유저 테이블이 있습니다. @Entity("users") export class User extends IdEntity implements UserScheme { @Column() password: string; @Column({ unique: true }) social_id: string; @Column() name: string; @Column() sex: boolean; @Column() phone: string; @Column({ unique: true }) email: string; @OneToMany(() => UserInClub, (userInClub) => userInClub.user, { cascade: true, }) public clubs: UserInClub[]; @One.. 2024. 2. 7.
[Spring] Spring Data JPA PageRquest 관련 에러 Page findAllPostByCategory(PageRequest pageRequest); Page findAllPostByCategory(Long categoryId, PageRequest pageRequest); 위처럼 파라미터가 PageRquest 하나였을 땐, 잘 실행되다가 Long categoryId가 파라미터로 추가되면서, but parameter 'Optional[pageRequest]' not found in annotated query ~ java.lang.IllegalStateException: Using named parameters for method public abstract ~ 같은 에러들이 발생했습니다.. 아래쪽 Illegal 에러로 검색해본 결과, @Param 어노테이션.. 2021. 12. 30.
[Spring] Spring Data JPA Native Query 작성 시 필요한 것들 Spring Data JPA에서 Native Query를 작성하는 것은 크게 어렵지 않습니다. public interface PostRepository extends JpaRepository { @Query(value = "SELECT * FROM post", nativeQuery = true) List findAllPost(); } 위처럼 @Query 어노테이션을 사용하여 쿼리를 입력하고, nativeQuery 옵션을 true로 주시면 됩니다. 하지만 해당 쿼리는 findAll 같은 기본 JPA가 자동으로 생성해주는 쿼리를 사용하면 되기 때문에, 테이블에서 특정 컬럼만 가져오거나, 여러 테이블을 조인하거나 할 때, Native Query를 사용하게 될 겁니다. public interface PostRe.. 2021. 12. 29.