#java #spring #foreign-keys
Вопрос:
Я соединил две разные таблицы с моей арендуемой организацией. Но проблема в том, что, когда я отправляю запрос на вставку, он как бы считывает все поля в других таблицах и показывает их мне для заполнения. Например, хотя мне нужно ввести только идентификатор пользователя, он ожидает, что я также заполню пароль customer_password. этого будет достаточно, если я просто заполню параметр, который я ввел на фотографии, которую я добавил ниже.
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name="rentals")
public class Rental {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id")
private int id;
//private int carId;
//private int customerId;
@Column(name="rent_date")
private Date rentDate;
@Column(name="return_date")
private Date returnDate;
@OneToOne
@JoinColumn(name="car_id")
private Car car;
@OneToOne
@JoinColumn(name="customer_id")
private Customer customer;
}
Комментарии:
1. Не используйте объект базы данных в качестве представления тел запросов. Определите отдельный объект переноса и сопоставьте этот объект переноса с объектом базы данных, возможно, зависимые от загрузки объекты (например
Customer
, иCar
) образуют базу данных. — Мы видим все эти поля, потому что aRental
(как показано выше) включает в себя полноеCustomer
и полноеCarr
. Таким образом, мы также видим все областиCustomer
иCar
. помните, что@OneToOne
и@JoinColum
являются JPA-аннотациями и не оцениваются jax-rs.2. Спасибо за все ваши предложения. Это сработало отлично