Spring boot обрабатывает нулевые значения базы данных - PullRequest
0 голосов
/ 28 апреля 2018

Я использую предоставленную SPring зависимость JPA, чтобы вывести список всех элементов из таблицы User. У некоторых пользователей есть номера телефонов в базе данных, и я получаю ошибку ниже. Любой способ игнорировать нулевые значения БД?

java.lang.IllegalArgumentException: Can not set long field com.freelancer.Entity.User.phone to null value
    at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) ~[na:1.8.0_161]
    at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) ~[na:1.8.0_161]
    at sun.reflect.UnsafeLongFieldAccessorImpl.set(UnsafeLongFieldAccessorImpl.java:80) ~[na:1.8.0_161]
    at java.lang.reflect.Field.set(Field.java:764) ~[na:1.8.0_161]
    at org.hibernate.property.access.spi.SetterFieldImpl.set(SetterFieldImpl.java:41) ~[hibernate-core-5.2.16.Final.jar:5.2.16.Final]

Класс сущности указан ниже:

@Table(name = "user")
@EntityListeners(AuditingEntityListener.class)
@JsonIgnoreProperties(value = {"createdAt"},
        allowGetters = true)
public class User implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;

    @NotBlank
    private String name;

    @NotBlank
    private String email;

    @NotBlank
    private String password;


    private long phone;
    private String about;
    private int profile_id;
    private String skills;

1 Ответ

0 голосов
/ 28 апреля 2018

Примитивные типы, такие как long, не могут иметь нулевые значения. Предлагаем вам изменить phone тип на Long. Кроме того, когда вы получаете доступ, вы можете сделать нулевую проверку.

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