Java Hibernate-强制父类和子类之间的内部联接
我有一个父类Java Hibernate-强制父类和子类之间的内部联接,java,hibernate,orm,inheritance,inner-join,Java,Hibernate,Orm,Inheritance,Inner Join,我有一个父类Party和一个子类LiveParty以及其他类(见下文),在数据库中这始终是一对一的关系。每当我使用CriteriaAPI时,它都会在两者之间进行左外连接。我想强制在父级和子级之间进行内部连接,因为这会影响某些查询的性能,但在文档中找不到这样做的方法,有人能推荐一种方法吗 @Entity @Table(name = "Party", schema = "dbo") @Inheritance(strategy = InheritanceType.JOINED) public abst
Party
和一个子类LiveParty
以及其他类(见下文),在数据库中这始终是一对一的关系。每当我使用CriteriaAPI时,它都会在两者之间进行左外连接。我想强制在父级和子级之间进行内部连接,因为这会影响某些查询的性能,但在文档中找不到这样做的方法,有人能推荐一种方法吗
@Entity
@Table(name = "Party", schema = "dbo")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Party{
...
}
@Entity
@Table(name = "LiveParty", schema = "dbo")
@PrimaryKeyJoinColumn(name = "partyId")
public class LiveParty extends Party {
...
}
每当我使用CriteriaAPI时,它都会在两者之间进行左外连接
这确实是使用join
策略时得到的结果,Hibernate将对all与继承树的给定节点的后代相对应的表执行外部联接,以推断并返回给定行的实际类型(有关详细信息,请参见ChssPly76)
换句话说,我不认为您可以强制Hibernate使用内部联接,至少在不更改映射的情况下(使用辅助表或OneToOne
关系,我不确定您的约束到底是什么)
相关问题
join
策略时得到的结果,Hibernate将对all与继承树的给定节点的后代相对应的表执行外部联接,以推断并返回给定行的实际类型(有关详细信息,请参见ChssPly76)
换句话说,我不认为您可以强制Hibernate使用内部联接,至少在不更改映射的情况下(使用辅助表或OneToOne
关系,我不确定您的约束到底是什么)
相关问题