Флажки Thymeleaf multi работают с Long id, но не с Integer - PullRequest
0 голосов
/ 13 января 2019

Вот моя сущность:

@Entity
@Table(name = "platforms")
@Data
@NoArgsConstructor
public class Platform implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    @Length(max = 50)
    @Column(nullable = false)
    private String name;
}

Объект команды:

@Data
@NoArgsConstructor
public class AdvancedSearch {

    private String phrase;

    @PositiveOrZero
    private Double minPrice;

    @PositiveOrZero
    private Double maxPrice;

    private Set<Integer> pegi;

    private Set<Genre> genres;

    private Set<Platform> platforms = new HashSet<>();
}

Шаблон в ThymeLeaf:

<div class="form-row">
    <div class="col">
      Platformy:
      <div class="checkbox">
        <label class="mr-2 checkbox-inline text-dark"
               th:each="p : ${ allPlatforms }">
          <input type="checkbox" th:field="*{platforms}"
                 th:id="${p}" th:value="${p.id}"> [[${p.name}]]
        </label>
      </div>
    </div>
</div>

Я хочу привязать Set к флажкам, но с Integer id у меня есть TypeMismatchException: предоставляется идентификатор неправильного типа, Ожидаемый: класс java.lang.Integer, получил класс java.lang.Long. Когда я изменяю идентификатор на Long в сущности и базе данных, это работает. Другая похожая сущность работает с Integer. Кто-нибудь знает почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...