代码之家  ›  专栏  ›  技术社区  ›  guigui42

Hibernate Manytoone为什么生成2个查询而不是1个?

  •  1
  • guigui42  · 技术社区  · 14 年前

    my table是我的Oracle数据库中的一个表,它有一个cmp_id来加入companies表。

    下面是Java实现:

    public class MyTable implements Serializable {
    ...
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumns( { @JoinColumn(name = "CMP_ID", referencedColumnName = "CMP_ID", nullable = false) })
    @XmlTransient
    Company company;
    ...
    }
    

    在我的JSP页面中,我成功地显示了我的表:

    ${MyTable.company.cmpName}
    

    但是Hibernate生成的2选择: 一个用于myObject,另一个用于生成公司名称。

    如何使用Hibernate在一个查询中获取我想要的所有信息?(mytable中的所有字段,加上companies表中的公司名称)

    谢谢您

    2 回复  |  直到 14 年前
        1
  •  1
  •   Arthur Ronald    14 年前

    @ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="CMP_ID", referencedColumnName="CMP_ID", nullable=false)
    private Company company;