This link展示了如何从关联的“另一侧”加入单向 ManyToOne。
这也适用于 OneToOne 关联吗?
就我而言,我有 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连接起来。 查询看起来像这样:
SELECT e FROM Order o JOIN stateTranstionEvent.transitionFrom tf...
这可能吗,还是我必须在对象级别上建立双向关联?
最佳答案
你的问题不太清楚。 SELECT e FROM Order o JOIN stateTranstionEvent.transitionFrom tf
中的 e
是什么?
您无法从 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
关于hibernate - JPA/Hibernate - 单向 OneToOne 关联上的反向连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8354150/