Java spring引导存储库未返回真实实体

Java spring引导存储库未返回真实实体,java,hibernate,spring-boot,spring-data-jpa,Java,Hibernate,Spring Boot,Spring Data Jpa,我有一个包括继承在内的实体,它们类似于本文中所述: 我的抽象基类是Promotion,而a子类是schodmentpromotion 在映射器函数中,我调用以下代码: Promotion promotion = promotionRepository .findById(source.getPromotion().getId()) .orElseThrow(() -&g

我有一个包括继承在内的实体,它们类似于本文中所述:

我的抽象基类是Promotion,而a子类是schodmentpromotion

在映射器函数中,我调用以下代码:

Promotion promotion = promotionRepository
                                .findById(source.getPromotion().getId())
                                .orElseThrow(() -> new BadRequestException("Invalid Promotion"));
现在,促销变量不是有效的产品组合促销,如下图所示。另外,组合促销的促销实例
返回false

你知道我能做些什么来获得一个真正的实体对象吗?

Hibernate用来增强和代理实体类。这主要是针对相关实体(@ManyToOne,@OneToOne)的延迟加载“魔力”

有许多文章介绍了如何实现这一点,以及如何取消固定此类实体:


Hibernate使用代理。返回的代理是一个升级,以多态方式访问它(即不使用instanceof和Cast)可以正常工作。具体问题是什么?为什么要使用instanceof?
org.hibernate.Hibernate.unproxy(promotion);