1) использование знаков !! антипаттерн, ну если вы явно будете грохать приложение при npe,
if (activeUser != null) { //тут уже выполнена проверка,
activeUser.region = region //никаких !! знаков здесь быть не должно
usersRepository.save(activeUser)
return "success"
}
пользуйтесь конструкицями ?.let{ } run.. also.. apply..
activeUser?.also{ it.region = region }
activeUser?.apply{ age = 10}
2) не стоит так делать, null есть null на него и проверяйте
3) не совсем понял вопрос вы пишете "В одну сущность добавить список из нескольких"
у вас ожидает один объект? и связь таблиц один к одному
@OneToOne
@JoinColumn(name = "product_price")
var productPrice: ProductPrice? = null,
может ожидать лист и связь таблиц @OneToMany
@OneToMany (cascade = CascadeType.ALL)
@JoinColumn(name = "product_price")
var productPrice: List<ProductPrice>,
почитайте подробней