У меня очень простой вопрос.Я не знаю, не понял ли я что-то или не знаю, как это сделать.Я долго удивлялся, как один в один в спящем весне.Я могу добраться до стола в двух направлениях.Допустим, у меня есть таблицы Hotel и hotelDetails.Для меня создается ключ, чтобы я мог добраться до отеля от отеля, но я не могу пойти другим путем.Иногда это важно для меня.Я буду использовать пример кода.
public class Hotel {
private Long id;
private String name;
private String currency;
private String image;
private HotelRating hotelRating;
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
.
.
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "hotel_rating_id", referencedColumnName = "id")
public HotelRating getHotelRating() {
return hotelRating;
}
public void setHotelRating(HotelRating hotelRating) {
this.hotelRating = hotelRating;
}
Таблица рейтинга отелей.
Проблема заключается в том, когда я пытаюсь разрешить использовать геттер и сеттер в отеле.Я получаю:
org.springframework.beans.factory.BeanCreationException: Ошибка создания бина с именем entityManagerFactory, определенным в ресурсе пути к классу [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaConfiguration.class]: сбой вызова метода init;вложенное исключение - javax.persistence.PersistenceException: [PersistenceUnit: default] Невозможно построить Hibernate SessionFactory;вложенное исключение: org.hibernate.MappingException: не удалось определить тип для: com.flightradar.flightradar.model.hotel.Hotel, в таблице: hotel_rating, для столбцов: [org.hibernate.mapping.Column (hotel)]
@Entity
@Table(name = "hotel_rating")
public class HotelRating {
private long id;
private Integer votesNumber;
@Min(1)
@Max(5)
private Double average;
@OneToOne(mappedBy = "hotel_rating")
Hotel hotel;
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO)
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public Integer getVotesNumber() {
return votesNumber;
}
public void setVotesNumber(Integer votesNumber) {
this.votesNumber = votesNumber;
}
public Double getAverage() {
return average;
}
public void setAverage(Double average) {
this.average = average;
}
}
Итак, ребята, помогите мне понять простейшую возможность добраться до гостиничного стола из HotelRating Table.Например, у меня есть список HotelRating, и я должен получить из таблицы Hotel для каждого объекта hotelRanking.