Привет, у меня есть два класса Entity, аналогичные приведенным ниже
@Entity
@Data
public class User implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGen")
@SequenceGenerator(name = "sequenceGen", sequenceName = "db.SEQ_IDGENERATOR", allocationSize = 1)
@Column(name = "USER_ID")
private Integer id;
@JoinColumn(name = "ADDRESS_ID", referencedColumnName = "ADDRESS_ID")
@ManyToOne(optional = true)
private Address address;
@Column(name = "USER_NAME")
@UniqueField
private String userName;
}
@Entity
@Data
public class Address implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGen")
@SequenceGenerator(name = "sequenceGen", sequenceName = "db.SEQ_IDGENERATOR", allocationSize = 1)
@Column(name = "ADDRESS_ID")
private Integer id;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "address")
private List<User> User;
@Column(name = "CITY")
private String city;
@Column(name = "COUNTRY")
private String country;
}
И мои репозитории
@RepositoryRestResource
public interface UserRepository extends JpaRepository<User, Integer> {
}
@RepositoryRestResource
public interface AddressRepository extends JpaRepository<Address, Integer> {
}
Моя проблема в том, когда я пытаюсь получить всех пользователей в базе данных, которую я могу получить данные. Но если я установил для одного пользователя столбец address_id равным 0. У меня была такая ошибка
{"status":"NOT_FOUND","message":"Unable to find com.example.Address with id 0","errorCode":20,"subFields":null}
Итак, если поле id равно 0, я хочу обрабатывать его как null. Я знаю, что это не лучшая практика. Но у меня есть и другие причины для этого.
Я знаю, добавлю ли я @NotFound (action = NotFoundAction.IGNORE) в свою строку ManytoOne, это может решить мою проблему. Но у меня много таких объектов, поэтому мне нужно общее исправление.