일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- spring boot
- 애니메이션
- AnimationController
- React JS
- MVVM
- Flutter
- 함수
- 플러터
- GitHub
- Binding
- 리엑트
- Firebase
- page
- db
- 깃허브
- MSSQL
- listview
- 파이어베이스
- 자바스크립트
- HTML
- 오류
- .NET
- MS-SQL
- 바인딩
- Maui
- 닷넷
- 마우이
- Animation
- typescript
- JavaScript
Archives
- Today
- Total
개발노트
7. [Spring Boot] PropertyReferenceException 에러 해결 (Java "_" 언더바 인식 못함 문제) 본문
서버 개발/Spring Boot
7. [Spring Boot] PropertyReferenceException 에러 해결 (Java "_" 언더바 인식 못함 문제)
mroh1226 2024. 4. 30. 11:49반응형
Java 에서 "_" 언더바 사용은 아래와 같은 문제를 불러옵니다.
- Naming Conventions: Java의 명명 규칙(Naming Conventions)은 카멜 표기법(Camel Case)을 따릅니다. 즉, 변수 이름은 소문자로 시작하고, 여러 단어가 결합될 때는 각 단어의 첫 글자를 대문자로 표기합니다. 이러한 명명 규칙을 따르지 않으면 코드의 가독성이 떨어지고, 표준에 맞지 않는 코드로 인식될 수 있습니다.
- 키워드와의 충돌: 언더바(_)는 Java에서 특별한 용도로 사용되는 문자가 아니기 때문에 문법적으로는 문제가 없지만, 키워드와의 충돌이 발생할 수 있습니다. 예를 들어, 변수 이름으로 **int _value;**와 같이 언더바를 사용하면 일부 상황에서 코드를 해석하는 데 혼란을 줄 수 있습니다.
- 코드 일관성: Java 커뮤니티에서는 카멜 표기법을 사용하여 코드의 일관성을 유지하고 가독성을 높이기 위해 노력합니다. 따라서 Java 코드를 작성할 때는 표준적인 명명 규칙을 준수하는 것이 좋습니다.
- 팀 협업 및 유지 보수: 팀 단위로 작업할 때는 모든 개발자가 통일된 명명 규칙을 따라야 합니다. 일관성 있는 코드 작성은 협업과 유지 보수를 용이하게 만들어줍니다.
따라서 Java에서는 변수 이름에 언더바 대신 카멜 표기법을 사용하여 코드를 작성하는 것이 일반적인 규칙입니다.
문제 발생
Entity를 정의할 때, DB의 Column 칼럼명과 Spring Boot에서의 Entity 변수명이 같고 별다른 옵션이 없다면, @Column 어노테이션을 생략할 수 있습니다.
@Column(name= "칼럼명")
private 데이터형 변수명
Cocktail Entity의 Foreign Key로 사용된 MixType의 mixtype_id를 정의하는 과정에서 @Column(name= "mixtype_id") 를 작성하지 않았고, 무엇 때문인지 PropertyReferenceException 에러가 발생하였습니다.
문제가 된 소스.
MixType Entity
CocktailRepository
Cocktail Entity
에러 메세지
No property 'mixtypeId' found for type 'MixType'; Did you mean 'mixtype_Id'; Traversed path: Cocktail.mixType
해결 방법
- 원인: 변수명으로 사용된 "mixtype_id" 의 언더바를 Java가 인식하지 못하는 문제
- 해결: Entity 를 아래와 같이 변경
- 언더바가 사용되지않은 변수명을 사용
- 대신, @Column(name = " mixtype_id ") 칼럼 어노테이션으로 필드명을 작성함
- @Id에 선언된 변수명과 Repository 의 interface에 작성된 Parameter 명과 동일하게 일치시켜줌
해결완료
반응형
'서버 개발 > Spring Boot' 카테고리의 다른 글
9. [Spring Boot] 쿼리 메소드 (Repository 안의 메소드명에 따라 쿼리가 달라진다.) (0) | 2024.05.09 |
---|---|
8. [Spring Boot] @ManyToOne 무한재귀 호출 문제 해결하기 (0) | 2024.04.30 |
6. [Spring Boot] application.yml 설정하기 (0) | 2024.04.29 |
5. [Spring Boot] JPA 로 삽입, 조회, 수정, 삭제 기능 만들기(with ResponsEntity) (0) | 2024.04.16 |
4. [Spring Boot] Optional 사용 (NullPointerException 방지하기) (0) | 2024.04.16 |
Comments