목록JPA (3)
개발 무지렁이

JPA는 스네이크케이스로 테이블 이름을 생성한다 (관례상) Caused by: java.sql.SQLSyntaxErrorException: Table 'fixed_spending' doesn't existJava는 엔티티를 만들 때, 관례상 [카멜케이스]를 사용한다. JPA가 SQL을 생성할 때, Java의 [카멜케이스] 명명법을 [스네이크케이스] 명명법으로 변환해준다. 이전에는 문제가 없었는데 MYSQL 설정을 뭘 잘못 건드렸더니 갑자기 명명법 변환에 문제가 생겨보인다. ⭐ 해결방법1@Entity(name="fixed_spending") 주로 엔티티 이름이 예약어일 때, 따로 이름을 붙여주는 방법인데, Entity 어노테이션에 name속성을 붙여 직접 스네이크케이스로 이름을 지어준..

QueryDSL Java로 SQL처럼 구현할 수 있는 것을 말한다. ⭐. Entity클래스로부터 파생된 Q클래스가 필요하다. ex. Member클래스로부터 QMember클래스가 만들어져야 한다. (Intellij, Gradle -> Tasks -> other -> compileQuerydsl, Entity클래스를 수정할 때마다) build.gradle 🐘 buildscript { ext { queryDslVersion = "5.0.0" } } plugins { ... id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } dependencies { ... implementation "com.querydsl:querydsl-jpa:${queryDslVersi..

ORM(Object Relational Mapping) 객체와 '관계형 데이터베이스'의 데이터를 자동으로 매핑해주는 도구를 말한다. 📍. 쿼리문 대신 ☕자바코드로 데이터베이스의 데이터를 처리할 수 있다. 📍. 내부에서 안전한 SQL 쿼리 자동 생성 JPA(Java Persistence API): 🧱 ORM 프레임워크의 표준 스펙 ☕ Java를 기반으로 한 객체 관계 매핑 기술을 말한다. 📍. 객체 지향 프로그래밍 모델과 관계형 데이터베이스 사이의 불일치를 해결하기 위해 개발 📍. 개발자가 SQL쿼리를 직접 작성하지 않아도 된다. 📍. JPA를 구현한 실제 클래스: Hibernate ❓ SQL쿼리문 ``` insert into question(subject, content) values('안녕하세요..