我有以下简单情况:
Cars table: Id, Name, Model
Cars Schedule table:Id, CarId, ScheduleTime, ScheduleDate
我将Hibernate与Spring MVC结合使用,其结构如下:
域
回购
回购
服务
serviceImpl
我需要做的是在Cars Schedule的列表中显示汽车名称,而不必在CarsSchedule表中添加一个名为CarName的字段。
最佳做法是什么?
最佳答案
在Car
实体中,您应该拥有
@OneToMany(mappedBy = "car")
private List<CarsSchedule> schedules;
我假设该关系为
@OneToMany
,但是如果是这种情况,则可以将其切换为@OneToOne private CarsSchedule schedule;
。在
CarsSchedule
实体中,@ManyToOne
@JoinColumn(name = "CarId")
private Car car;
使用此设置,一旦在控制器(和型号)中具有
carsSchedule
实例,就可以使用#{carsSchedule.car.name}
在页面上显示汽车的名称。