我有问题,我有一个抽象基实体火车站。继承TABLE_PER_CLASS和三个子表StationCompany StationAnalysis StationVariantHibernate的JPA @Inheritance TABLE_PER_CLASS JpaRepository在儿童实体联合选择所有表
@MappedSuperclass
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class Station {
@Entity
public class StationCompany extends Station {
@ManyToOne(optional = false, fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
private Company company;
@Entity
public class StationAnalysis extends StationCompany {
@ManyToOne(optional = false, fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
private Analysis analysis;
@Entity
public class StationVariant extends StationAnalysis {
@ManyToOne(optional = false, fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
private Variant variant;
public interface IStationCompanyRepository extends JpaRepository<StationCompany, Long> {
@Service
public class StationService implements IStationService<StationCompany> {
@Autowired
IStationCompanyRepository stationCompanyRepository;
然后我搜索的findAll上StationCompany ,hibernate使用union select进行查询。 我将只搜索StationCompany委托人。
select x from (select a from StationCompany union select b from StationVariant union select c from StationAnalysis)
但是StationAnalysis是StationCompany,不能责怪冬眠,对吗? – maress
我需要这个。站点分析有一个@ManyToOne公司+分析和站变体公司+分析+变体实体 – Monito
请详细说明你想要的 – maress