JPA를 사용하다 보면 로그에 실제 전달한 리스트는 152개인데, SQL 바인딩 시점에는 255개(혹은 256개)까지 늘어나 마지막 값이 반복해서 들어가는 현상을 볼 수 있습니다. 이는 `type.descriptor.sql.BasicBinder`가 수행하는 IN Clause Parameter Padding 때문입니다. 이 현상의 원인과 해결 방법을 정리합니다. --- 1. 왜 255개까지 늘어나는 걸까? (원인) Hibernate는 성능 최적화를 위해 IN 절에 전달된 인자의 개수를 2의 거듭제곱(2, 4, 8, 16 ... 256) 단위로 맞추는 패딩 전략을 사용합니다. * 이유: DB의 Execution Plan(실행 계획) 재사용성 때문입니다. * 상세: 인자 개수가 152개일 때와 153개일 때..