2013-05-07 78 views
0

我有一个通用的抽象基类,和IM试图用簧数据JPA与Hibernate创建一个仓库,让我去取子类...春数据和休眠..抽象类库

如下

@Entity 
@Table(name="Vehicle") 
@Inheritance(strategy=InheritanceType.SINGLE_TABLE) 
@DiscriminatorColumn(name="discriminator") 
@DiscriminatorValue("ROOT") 
public abstract class AbstractVehicle< 
    D extends Engine, O extends Chassy> 
    implements Model<D, O> { 

.... 
... 

} 

我有两个子类,如下所示:

@Entity 
@DiscriminatorValue("TRUCK") 
public final class Truck<D extends TruckEngine> extends AbstractVehicle<D, TruckChassy> { 

.. 
.. 
} 

@Entity 
@DiscriminatorValue("CAR") 
public final class Car<D extends CarEngine> extends AbstractVehicle<D, CarChassy> { 

.. 
.. 
} 

我现在想使用Spring数据JPA,根据其ID返回我的目标,我希望能够做一个n个实例,并转换为正确的类型......是可能的..我的界面库..

@SuppressWarnings("rawtypes") 
    public interface VehicleFinderRepository extends JpaRepository<AbstractVehicle, String> { 
    } 

} 

我的全部给定的是id,我知道它要拥有汽车的基本类型,我想要做的数据库的读取,然后得到的类型和事后投..当我运行此我得到无法加载实体车辆

任何人都热了去这个?任何想法...

回答

0

如果我没有错,你不想在abstract class AbstractVehicle上有@DiscriminatorValue("ROOT")

@DiscriminatorColumn(name="discriminator")将具有TruckCAR值。