我有一堆具有完全相同列的表,比如 ID、NAME、DESCRIPTION。由于遗留原因,我无法更改这些表。
在我的模型中,我使用 @MappedSuperclass 注释为这些创建了一个抽象超类。然后我为它创建了一个存储库:
JpaRepository<MyAbstractEntity, Long>
但这似乎不适用于 JPARepository(或者更确切地说是 Hibernate?),因为它不是一个真实的实体。
那么处理这种层次结构的首选方法是什么?
我有一堆具有完全相同列的表,比如 ID、NAME、DESCRIPTION。由于遗留原因,我无法更改这些表。
在我的模型中,我使用 @MappedSuperclass 注释为这些创建了一个抽象超类。然后我为它创建了一个存储库:
JpaRepository<MyAbstractEntity, Long>
但这似乎不适用于 JPARepository(或者更确切地说是 Hibernate?),因为它不是一个真实的实体。
那么处理这种层次结构的首选方法是什么?
我假设您使用 Hibernate 作为您的持久性提供程序?它有一个错误,在被要求映射超类时没有返回相关的 JPA 元模型类型。这已在 Hibernate 4.1.6 中修复,因此升级到该版本应该可以解决问题。
问题是如何repository
仅根据抽象类知道要查询哪个表?对我来说,最好的方法是根据你的具体类创建你需要的存储库。