У нас есть много java-приложений, и мы пытаемся реализовать наше первое в Kotlin. Вопрос в том, как лучше всего инициализировать свойства простой модели гибернации?
Давайте рассмотрим следующий пример на Java:
@Entity
@Table(name = "Session_Ids")
public class SessionId() {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
protected Long id;
@Column
protected Long number;
}
Теперь давайте предположим, что идентификатор и номер в базе данных никогда не могут быть нулевыми. Таким образом, после того, как hibernate завершен со всем, модель всегда будет иметь значение в поле id и значение в поле номера.
Как я могу это сделать в Котлине?
Я не могу инициализировать их с нулем, потому что я должен объявить эти поля как Nullable, что не должно быть. Я не могу использовать lateinit, потому что оба поля являются примитивными типами long.
Единственный способ предотвратить определение их как обнуляемых - это инициализировать их неправильным значением по умолчанию. Что-то вроде
var number: Long = -1
Но это выглядит неправильно для меня.
Есть ли какая-нибудь лучшая практика, чтобы сделать что-то подобное в Котлине?
Заранее спасибо!