from절 subquery table filed nullable 처리
안녕하세요. 강의 잘 듣고있습니다.
다름이 아니라 subquery 실습 중 nullable method 처리가 안되어 질문 드립니다.
asTable() method 사용하여 Table<Record> 인스턴스 subTable 생성 후 subTable.field() method 호출 시 Nullable한 method이기 때문에 NPE 발생 가능 경고가 발생합니다.
서브쿼리가 아닌 generated된 객체의 경우에는 발생하지 않아 비슷한 방식으로 해결해보기 위해 구글링해보았지만 뚜렷한 해결방법이 나오지 않아서요.
특정 객체로 mapping 혹은 NPE 발생 가능성을 compile level에서 처리 가능하게끔 해결 가능할까요?
回答 1
0
안녕하세요. 어떤상황인지 정확히 파악이 안되서 답변드리기가 어려운데요.
관련된 예시 코드나 사진이 있을까요?
0
actorList가 where절 서브쿼리입니다.
서브쿼리로 작성된 테이블의 field를 "abc"라는 이름으로 가져올 때, NPE 발생 가능성이 존재합니다.
위와 같이, field를 String으로 가져오는것이 아닌, 객체에 매핑된 형태로 사용 할 수 있는지요?
0
freesens님 안녕하세요. 질문주신부분 답변 해드리도록 하겠습니다.
1. 서브쿼리 필드에 대한 'may produce NPE .. ' 발생이슈
이 부분은 정상동작이라고 생각됩니다.
서브쿼리의 경우, 컬럼이 고정 되어있지 않아 아래 사진과 같이 null 이 발생될 수 있습니다.
이부분이 우려가 된다면. lessThenIfNotNull등의 condition 처리 함수를 만들어서 래핑하면 될듯합니다.

Field 메서드의 주석 부분을 참고하시면 좋을듯합니다.

-- 해석
필드 참조를 통해 이 타입에 알려진 필드를 가져옵니다.
이 메서드는 다음을 반환합니다:
인수 필드와 동일한 필드
(객체 동일성 비교 기준)인수 필드와 동일한 완전한 이름을 정확히 일치하는 필드
인수 필드와 동일한 부분적으로 일치하는 완전한 이름을 가진 필드
인수 필드의 비한정 이름과 동일한 이름을 가진 필드
그 외의 경우에는
null
만약 여러 필드가 동일한 모호한 이름을 가지고 있는 경우, 첫 번째 필드가 반환되며 경고가 기록됩니다.
2. field를 String으로 가져오는것이 아닌, 객체에 매핑된 형태로 사용
아래처럼 테이블의 필드를 그대로 사용하는 경우 가능합니다.

0
추가로 Unsigned Integer(UInteger.class) 같은 경우 캐스팅이 부담이 되실 경우
forcedType을 통해 Long으로 매핑시킬수 있으니 참고 부탁드려요
안녕하세요 FetchGroups에서 Multiset방식 사용하면 어떤가 해서 물어봅니다
0
60
1
monosoul jooq plugin-docker registry 변경
1
101
3
질문) jOOQ 프로젝트에서 CI/CD 자동화 문의
1
176
3
generate dao 를 통한 삽입 시 pk auto-increment 가 적용되지 않습니다
1
109
1
jooq+flyway에서 질문드립니다
0
250
2
안녕하세요 생성일,생성자,수정일,수정자는 자동으로 해주는 기능이 있을까요?
0
209
2
[사례] Maven에서 TestContainers 플러그인 적용시 예외발생
0
143
0
Routines 관련 질문
1
159
2
JOOQ 환경설정 중에 db 패스워드 관련 질문입니다.
1
173
1
Sakila DB 도커 컴포즈 구성 시 팁
1
152
1
DB 벤더별 내장함수에 대한 방언 지원 듣고 질문드려요
1
176
1
인텔리제이 테마 질문
2
426
3
kotlin jOOQ , 컴파일시 힙메모리 부족
0
525
2
pojo 에 setter 가 없는 경우가 있을까요?
1
189
1
FilmWithActor로 fetch 시 select와 생성자의 매개변수 순서가 다를 경우 map이 정상적으로 이루어 지지않는 케이스
1
228
1
kotlin mapping error
0
517
4
db column은 not null로 되어 있는데 kotlin에서 pojo가 다 nullable로 생성되요.
0
514
1
하나의 디비를 여러 백엔드 서버가 필요로 할 때, flyway 관리
1
889
5
dslContext 작성 시 fetchGroups 이렇게 작성해도 될까요?
2
639
6
update with dto 질문
1
268
1
R2DBC 환경에서 jOOQ generate 된 Dao를 사용할 수 있는 방법이 있을까요?
2
1245
3
IDE로 스프링부트 실행없이 jooq로 짠 쿼리 결과를 바로 확인하는 방법이 있을까요?
1
503
1
build.gradle.kts
3
758
2
마리아 DB 쓰시는분들은 mysql 파일 쓰시면됩니다.
1
371
1


