JPA/Hibernate-单向OneTONE关联上的反向连接?

JPA/Hibernate-单向OneTONE关联上的反向连接?,hibernate,jpa,join,Hibernate,Jpa,Join,显示如何从关联的“另一端”连接单向多通。 这是否也适用于OneTONE协会 在我的例子中,我有一个StateTransitionEvent实体,它与OrderStateEntity有单向的一对一关联。我不想使关系在对象级别上是双向的,OrderState类不需要知道转换 @Entity class StateTransitionEvent { @OneToOne private Order transitionFrom; @OneToOne private Or

显示如何从关联的“另一端”连接单向多通。
这是否也适用于OneTONE协会

在我的例子中,我有一个StateTransitionEvent实体,它与OrderStateEntity有单向的一对一关联。我不想使关系在对象级别上是双向的,OrderState类不需要知道转换

@Entity
class StateTransitionEvent {
    @OneToOne
    private Order transitionFrom;

    @OneToOne
    private Order transTo;
}

@Entity
class OrderState {
   // no association to StateTransitionEvent
} 
由于Order有许多单向关系,它希望从Order实体开始查询,但我需要将Order与StateTransitionEvent连接起来。 查询将类似于:

从Order o中选择e JOIN StateTransionEvent.transitionFrom tf


这是可能的,还是我必须使关联在对象级别上是双向的?

您的问题不是很清楚。什么是
e
,在
中,从顺序中选择e以连接状态TransitionEvent.transitionFrom tf

无法从Order加入到StateTransitionEvent(因为从Order到StateTransitionEvent没有关联)。但您可以从另一个方向加入,您可以选择顺序或事件:

select e from StateTransitionEvent e join e.transitionFrom tf 
where e.foo = :foo and tf.bar = :bar

select tf from StateTransitionEvent e join e.transitionFrom tf 
where e.foo = :foo and tf.bar = :bar