전체 글
-
Spring - JPA @Modifying return valueSpring 2024. 3. 25. 22:40
JPA에서 @Modifying 어노테이션 사용 시 주의할 점에 대해서 알아보겠습니다. @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String name; private String email; private boolean active; } JPA에서 @Query 어노테이션은 특정 JPQL 또는 SQL 쿼리를 작성할 수 있는 기회를 제공합니다. @Modifying 어노테이션은 @Query 어노테이션을 향상시켜 SELECT 쿼리뿐만 아니라 INSERT, UPDATE, DELETE, 심지어 DDL 쿼리까지 실행할 수 있습니다..
-
Kotlin - Spring JPA entity 매개변수 없는 생성자 플러그인kotlin 2024. 3. 19. 22:05
Kotlin으로 Spring JPA를 사용하면 Entity 클래스를 만들 때 이슈에 대해서 알아보겠습니다. Hibernate Entity 가이드를 보면 Entity의 조건이 나와 있습니다. https://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html#entity Hibernate ORM User Guide Starting in 6.0, Hibernate allows to configure the default semantics of List without @OrderColumn via the hibernate.mapping.default_list_semantics setting. To switch t..
-
Spring - JPA distinct 여러 컬럼 사용하기Spring 2024. 3. 12. 22:34
Spring JPA를 사용할 때 distinct를 사용하는 경우 @Query 어노테이션을 사용해서 처리합니다. distinct 여러 컬럼을 할 때의 코드에 대해서 알아보겠습니다. JPA repository 코드 @Query(value = "select distinct type, code from table", nativeQuery = true) List findDistinct(); distinct 컬럼 한 개일때는 String으로 처리가 가능하지만, 두개 이상의 경우에는 Object로 결과값을 받아야 합니다. JPA repository 조회하는 Service layer List objects = repository.findDistinct(); List result = objects.stream() .ma..
-
쿠키(cookie)와 세션(session)의 차이web 2024. 2. 21. 22:17
쿠키와 세션은 모두 사용자 로그인 자격 증명 및 권한을 HTTP 요청에서 전달하기 위해 사용됩니다. 쿠키 일반적으로 4KB의 크기 제한이 있음 사용자 로그인 자격 증명이나 권한을 저장하는 데 사용됨 로그인한 사용자가 각 후속 요청과 함께 전송됨 사용자가 브라우저에서 쿠키를 비활성화할 수 있으며, 이 경우 로그아웃될 수 있음 세션 서버 측에서 생성되고 저장됨 서버가 고유한 세션 ID를 생성함 세션 ID는 특정 사용자 세션에 링크됨 세션 ID는 쿠키, URL 매개변수 또는 HTTP 헤더로 클라이언트에게 다시 전송될 수 있음 쿠키보다 더 많은 데이터를 보유할 수 있음 세션 데이터가 클라이언트에 의해 직접 액세스되지 않기 때문에 쿠키보다 더 많은 보안을 제공함
-
벡터 데이터베이스 특징 및 장점database 2024. 2. 21. 22:09
현대의 데이터 분석과 탐색 과정에서 데이터는 비정형이며 고차원적인 형태로 발생하는 경우가 많습니다. 이에 대응하기 위해 새로운 형태의 데이터베이스가 필요해졌고, 그 중 하나가 바로 "벡터 데이터베이스"입니다. 벡터 데이터베이스는 데이터를 고차원 벡터 형태로 저장하고 처리하여 탐색과 분석을 효율적으로 수행할 수 있는 혁신적인 도구입니다. 벡터 데이터베이스란? 벡터 데이터베이스는 데이터를 고차원 벡터 형태로 저장하고 관리하는 데이터베이스 시스템입니다. 각 데이터 항목은 특징 벡터(feature vector)로 표현되며, 이러한 특징 벡터를 기반으로 데이터 검색, 분류, 군집화 등의 작업을 수행할 수 있습니다. 주요 특징과 장점 다차원 데이터 지원: 벡터 데이터베이스는 다차원 데이터를 효율적으로 저장하고 처리..
-
Kotlin - 기본 문법kotlin 2024. 2. 21. 22:05
Kotlin은 자바와 호환되는 현대적인 JVM 언어로, 간결하고 안전한 코드 작성을 지원합니다. Kotlin의 기본 문법에 대한 간단한 소개입니다. 1. 변수 선언과 할당 val immutableVariable: Int = 10 // 변경 불가능한 변수 var mutableVariable: String = "Hello" // 변경 가능한 변수 2. 타입 추론 Kotlin 컴파일러는 대부분의 경우에서 변수의 타입을 추론할 수 있습니다. val number = 42 // Int로 추론됨 3. 조건문 val x = 10 val y = 20 val max = if (x > y) x else y 4. 반복문 for (i in 1..5) { println(i) } // 리스트를 반복하는 경우 val list = l..
-
Spring - JPA on duplicate key update (MySQL)Spring 2024. 2. 13. 20:34
MySQL에서 데이터가 없을 때는 INSERT, 데이터가 있을 때는 UPDATE를 수행하는 방법 중 하나가 INSERT ON DUPLICATE KEY UPDATE 구문을 사용하는 것입니다. INSERT INTO 테이블명 (컬럼1, 컬럼2, ...) VALUES (값1, 값2, ...) ON DUPLICATE KEY UPDATE 컬럼1 = 값1, 컬럼2 = 값2, ...; 그러나 Spring Data JPA 직접적으로 INSERT ON DUPLICATE KEY UPDATE 구문을 지원하지 않습니다. ON DUPLICATE KEY UPDATE는 MySQL과 같은 특정 데이터베이스에 특화된 기능이기 때문입니다. 그래서 JPA에서 ON DUPLICATE KEY UPDATE 구문을 사용하려면 @Query 어노테이..
-
Spring - JPA Entity에서 @Column 필드 리스트로 만들기Spring 2024. 2. 13. 20:23
JPA Entity에서 @Column 어노테이션은 객체 필드와 DB 테이블 컬럼을 맵핑합니다. @Table(name = "entity") public class Entity { @Column(name = "id") private Long id; @Column(name = "name") private String name; @Column(name = "age") private Long age; } Entity 클래스에 매핑된 모든 컬럼명을 나열하려면 Java Reflection을 사용하여 클래스 필드에 액세스한 다음 @Column 주석이 있는지 확인할 수 있습니다. 방법은 다음과 같습니다. 1. 클래스의 모든 필드를 가져옵니다. 2. 각 필드에 @Column annotation이 있는지 확인하세요. 3. ..