2016-04-03 27 views
0

enter image description hereBen <strong>üç tablo</strong> katılamaz

Üç tablolar (Hazırda açıklama istisna OneToMany, mappedBy) katılın. Yukarıdaki resme bakın. Gördüğünüz gibi her restoranın birçok masası olabilir ve her masa birçok rezervasyon yapabilir.

Restoran varlık:

@Entity 
@Table(name = "restaurant") 
public class Restaurant { 

    @Id 
    @Column(name = "id") 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Long id; 
    @Column(name = "name") 
    private String name; 
    @Column(name = "aadress") 
    private String aadress; 

    @OneToMany(mappedBy = "restaurant") 
    private List<RestaurantTable> restaurantTables; 
} 

RestaurantTable varlık:

@Entity 
@Table(name = "restaurant_table") 
public class RestaurantTable { 

    @Id 
    @Column(name = "id") 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Long id; 

    @ManyToOne 
    @JoinColumn(name = "restaurant_id") 
    private Restaurant restaurant; 

    @Column(name = "number") 
    private int number; 
    @Column(name = "count") 
    private int count; 

    @OneToMany(mappedBy = "restaurant_table") 
    private List<Booking> bookings; 
} 

Rezervasyon varlık:

@Entity 
@Table(name = "booking") 
public class Booking { 

    @Id 
    @Column(name = "id") 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Long id; 

    @ManyToOne 
    @JoinColumn(name = "restaurant_table_id") 
    private RestaurantTable restaurantTable; 

    ... 
} 

hazırda açıklama istisna:

org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: Booking.restaurant in RestaurantTable.bookings 

Herhangi bir yardım için teşekkür ederiz! RestaurantTable

@OneToMany(mappedBy = "restaurant_table") 
private List<Booking> bookings; 

yılında

cevap

1

mülk Rezervasyon # için restaurant_table bakın ama Rezervasyon varlık sınıfında bu özellik restaurantTable adlandırılır:

@ManyToOne 
@JoinColumn(name = "restaurant_table_id") 
private RestaurantTable restaurantTable; 

Değiştir varlık RestaurantTable için

@OneToMany(mappedBy = "restaurantTable") 
İlgili konular