2013-05-07 95 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值。