Nullablity DB генерирует атрибуты

Я работаю над проектом на основе Kotlin, и это заставляет меня иметь дело с любым атрибутом, который может содержать нуль. Приятно узнать, где можно найти нули, пока они не приветствуются; но я так много вижу ?. s и .!! s для атрибутов, генерируемых БД, например идентификаторов. Может быть, я злоупотребляю этими операторами?

Есть ли какое-либо соглашение, чтобы пометить атрибут как недействительный, но все еще есть значения, генерируемые БД здесь? Если я ищу объект, то можно с уверенностью предположить, что генерируемые значения DB больше не равны нулю. Может ли это сделать VM? Может быть, рамки или некоторые аннотации, которые предоставляет язык?

Если ваш идентификатор генерируется базой данных, он имеет значение NULL, поскольку JVM / compiler / IDE не имеет возможности узнать, сохраняется ли ваша сущность или нет.

Однако вы можете использовать дополнительные методы, которые гарантированно возвращают ненулевые значения, иначе бросая исключение.