Мой список UserRespMappings не пропускает никаких значений, и кажется, что классы @data генерируют методы получения / установки для своих свойств по умолчанию, поэтому приведенное ниже исключение вводит в заблуждение. Я только что столкнулся с странной ошибкой в Kotlin?
fun batchUpsertUserResponsibilityGroups(users: List<UserRespMapping>) {
var params = SqlParameterSourceUtils.createBatch(users.toTypedArray())
namedParameterJdbcTemplate.batchUpdate("""
INSERT INTO user_resp_groups (user_principal_name, responsibility_group_ids)
VALUES (:${UserRespMapping::userPrincipalName.name}, cast(:${UserRespMapping::responsibilityGroupIDs.name} as json))
ON CONFLICT (user_principal_name) DO UPDATE
SET responsibility_group_ids = EXCLUDED.responsibility_group_ids
""".trimIndent(), params
)
}
UserRespMapping.kt
data class UserRespMapping (
var userPrincipalName: String,
var responsibilityGroupIDs: String //jsonb
)
'Исключение в потоке "-hidden-" org.springframework.dao.InvalidDataAccessApiUsageException: не указано значение для параметра SQL' userPrincipalName ': недопустимое свойство' userPrincipalName 'класса бина [[L-hidden-.UserRespMapping;]: Свойство bean-компонента 'userPrincipalName' недоступно для чтения или содержит недопустимый метод получения: соответствует ли тип возвращаемого значения метода получения параметру установщика? '