【问题标题】:Spring data and hibernate.. abstract class repositorySpring数据和hibernate..抽象类存储库
【发布时间】:2013-05-01 13:37:20
【问题描述】:

我有一个抽象的通用基类,我正在尝试将 spring data 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 Data JPA,根据它的 id 返回一个对象,然后我希望能够做一个实例,并将其转换为正确的类型......这可能吗..我的存储库界面..

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

}

我得到的只是 id,我知道它有 Vehicle 的基本类型,我想在数据库上进行提取,然后获取类型并在之后进行转换。当我运行它时,我无法加载实体车辆

有人对此有什么想法吗?...

【问题讨论】:

    标签: java hibernate spring-data-jpa


    【解决方案1】:

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

    @DiscriminatorColumn(name="discriminator") 将具有 Truck 或 CAR 值。

    【讨论】:

      猜你喜欢
      • 2018-06-15
      • 1970-01-01
      • 2012-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-25
      • 2013-12-19
      相关资源
      最近更新 更多