Size: a a a

2019 April 18

M

Meerim in Java Developers
спринг бут + ломбок + jpa
Как сделать так, чтобы если интежер поле в таблице равно null, то значение соответ-щего поля у сущности равно 0, а не null? Я попробовала так:
 @Column(name = "code_sent_count", nullable = true)
 private Integer codeSentCount = 0;
но все равно account.getCodeSentCount() равно не 0, а null
источник

nk

nursultan kubenov in Java Developers
сперва ответьте на вопрос что значит private Integer codeSentCount = 0;
источник

nk

nursultan kubenov in Java Developers
тогда и поймете в чем проблема
источник

nk

nursultan kubenov in Java Developers
кстати, а почему в таблице в поле, в котором ожидается поведение как 0 имеется значение null?
источник

M

Meerim in Java Developers
надо Integer -> int?
источник

nk

nursultan kubenov in Java Developers
само поведение неправильно. Что означает null и 0 в таблице? и что они означают в коде
источник

nk

nursultan kubenov in Java Developers
мб на самом деле в таблице должен быть 0?
источник

M

Meerim in Java Developers
nursultan kubenov
кстати, а почему в таблице в поле, в котором ожидается поведение как 0 имеется значение null?
а что теоретически нельзя в коде указать, что если в поле таблицы значение А, то в сущности при проекции должны быть значение - В?
источник

nk

nursultan kubenov in Java Developers
можно, но проблема в том, что поведение в коде и в таблице разное
источник

nk

nursultan kubenov in Java Developers
и управление неизвестно на чьей стороне
источник

M

Meerim in Java Developers
если можно, то как?
источник

nk

nursultan kubenov in Java Developers
можно переопределить сеттер
источник

I

Isabek in Java Developers
nursultan kubenov
можно переопределить сеттер
Если он находится внутри транзакции Хайбернейт обновит значение в БД :)
источник

АН

Алексей Новиков in Java Developers
Но в этом случае может Hibernate себяч не хорошо повести, он отслеживает состояние всех атачнутых сущностей и если вы измените в сеттере значение, это затргерит механизм обновления при выходе из транзакции.
источник

I

Isabek in Java Developers
Алексей Новиков
Но в этом случае может Hibernate себяч не хорошо повести, он отслеживает состояние всех атачнутых сущностей и если вы измените в сеттере значение, это затргерит механизм обновления при выходе из транзакции.
👍
источник

nk

nursultan kubenov in Java Developers
но тут то и проблема в том, что ожидание 0 заместо null в данном случае и так костыль
источник

nk

nursultan kubenov in Java Developers
так что думаю что тут хоть сеттер ставь
источник

nk

nursultan kubenov in Java Developers
и судя по названию филда, сеттер выставит правильное значение в поле
источник

ET

Eugeniy Ten Zensoft in Java Developers
Можно только геттер сделать, если прям необходимость такая есть. Но лучше определиться, что может означать null в таблице. Возможно, эта колонка not null
источник

ET

Eugeniy Ten Zensoft in Java Developers
Должна быть
источник