我有以下课程:
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="vehicletype", discriminatorType = DiscriminatorType.STRING)
public abstract class AbstractVehicle {
...
@Entity
@DiscriminatorValue(value = VehicleTypes.Values.Car)
public class Car extends AbstractVehicle {
...
@NoRepositoryBean
public interface AbstractVehicleRepository<T extends AbstractVehicle> extends PagingAndSortingRepository<T, Long> {
...
@RepositoryRestResource(collectionResourceRel="cars", path="cars")
public interface CarRepository extends AbstractVehicleRepository<Car> {
...
(鉴别器值是枚举内的常量,如here所述)
针对MySQL数据库运行。
我可以启动Spring Boot应用程序,但是当我尝试访问REST URL /cars
时,我得到一个例外,抱怨abstract_vehicle
表不存在。
我在MySQL数据库上使用Spring Boot 1.3.1,在我的依赖项中使用Spring Starts for Security,Web,Data-Rest,Hal-Browser和Data-Jpa。
SINGLE_TABLE
继承是否与Spring Data Rest Repositories兼容?我做错了什么?