min
- наименьшее ненулевое значение, которое может допускать float (нормализованная форма), то есть что-то около 2-126 (-126 - минимально допустимый показатель для поплавка); теперь, если вы суммируете его на 1, вы все равно получите 1, так как float
имеет всего 23 бита мантиссы, поэтому такое маленькое изменение не может быть представлено в таком «большом» номере (вам понадобится 126-битная мантисса чтобы увидеть смену изменения от 2-126 до 1).
Минимальное возможное изменение на 1 вместо epsilon
(так называемый машинный эпсилон), который фактически равен 2-23 - как это влияет на последний бит мантиссы.
Вы должны добавить конструктор в ChoiceVoteCount.
Для большей безопасности можно также добавить конструктор по умолчанию.
public ChoiceVoteCount() {
}
public ChoiceVoteCount(Long choiceId, Long voteCount) {
this.choiceId = choiceId;
this.voteCount = voteCount;
}