우리는 JOOQ 생성 Java 클래스를 사용하여 MySQL 데이터베이스와 상호 작용합니다. 나는 GenerationTool이 비 결정적이라고 보았다. 이것은 MySQL이 예측할 수없는 명령으로 물건을 반환 한 결과이거나 JOOQ이 일부 쿼리에 명시 적으로 나타나지 않았기 때문에 누군가가이 문제에 부딪쳤을 때 해결책을 찾았는지 확인하기를 원했기 때문입니다.JOOQ GenerationTool 비 결정적입니까?
생성 된 클래스가 예상대로 계속 작동하기 때문에 실제로 큰 문제는 아니지만 코드 검토에 사용되는 github 풀 요청을 muddies합니다.
이 문제를 해결했다, 순서는 명시하고있는 조항 BY' ORDER'를 통해 적용됩니다 사전보기 쿼리. 하지만 버그가있을 수 있습니다 ... 어떤 버전의 jOOQ를 사용하고 있습니까? 어떤 특정한 객체를 "비 결정적"이라고 생각 했습니까? –
우리는 JOOQ v3.3.1에 있습니다. 그것은 항상 새로운 ... 스키마를 생성하는 것처럼 보입니다. 테이블과 레코드 클래스의 키와 무작위 컬렉션. 나는 깨끗한 자식 repo에서 실행할 수 있었고 그것은 몇 가지 변경된 클래스를 생성합니다. 그런 다음 git reset --hard를 실행하고 다시 생성하고 때로는 다른 변경 사항 집합을 얻습니다. schema.Keys는 일반적으로 거기에 있습니다. – ShatyUT
좋아, 먼저 시도하지 않아서 미안하지만, 3.4.4로 업그레이드하면 이것을 재현 할 수 없습니다. 제가 말씀 드렸듯이 이것은 큰 문제를 일으키는 것이 아닙니다.하지만 JOOQ를 업그레이드 할 준비가되기 전에 해결한다면 솔루션을 알게 될 것입니다. – ShatyUT