我的hibernate查询出了问题。有两个类Wohnung
和Kosten
。每个Kosten
都与Wohnung
有关。
在我的控制器中,kosten.getWohnung()
返回null
。看起来Hibernate没有选择相关的Wohnung
。
这是我KostenDao
的方法。我假设我必须更改查询?
public Kosten findById(int id) {
return (Kosten) getSession().createQuery("from Kosten k where k.id = " + id).uniqueResult();
}
为了更好地理解,这是我的Kosten
模型的一部分:
@Entity
@Table(name="WNG_KOSTEN")
public class Kosten {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
protected int id;
// @Column(name = "INSERT_DT", nullable = false)
// @Value("${props.insertDt:SYSDATE}")
// protected java.util.Date insertDt;
@ManyToOne
@JoinColumn(name="WOHNUNG_ID")
private Wohnung wohnung;
...
答案 0 :(得分:0)
使用h2o.init()
获取类型,EAGER
是所有Hibernate关系的默认提取类型。
FetchType.LAZY