为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Jpa继承类型加入select only baseclass

Spring Jpa继承类型加入select only baseclass

四季花海 2021-11-24 14:55:49
我在 select only base class 时遇到了问题,无法找到解决方案。我也总是得到子类,而不仅仅是基类。考虑我有基类@Entity@Inheritance(strategy = InheritanceType.JOINED)   public class BaseClass {  @Id  @GeneratedValue  private Long id;  private Date date;  // some fields}现在我继承了@Entity  public class SubClassA extends BaseClass {  // some fields}interface BaseClassRep extends JpaRepository<BaseClass,Long>{  @Query(nativeQuery = true, value = "select id,date from baseclass where date = ?1")  public BaseClass getByDate(Date date)}问题是 BaseClassRep 不仅返回 BaseClass,还返回 SubClassA 以及从 BaseClass 继承的所有其他子类。如何告诉 Hibernate 我真的只想要基类而不是子类。
查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

我认为您必须使用 TABLE_PER_CLASS 继承类型:

@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) ,然后为超类创建一个存储库并获取数据。


查看完整回答
反对 回复 2021-11-24
?
ITMISS

TA贡献1871条经验 获得超8个赞

Java /JPA | 具有指定继承类型的查询

select id,date from baseclass b where date = ?1 and b.class = ?2


查看完整回答
反对 回复 2021-11-24
  • 2 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信