Hibernate条件限制将propertyname更改为首字母大写

时间:2017-08-21 15:17:10

标签: java hibernate annotations hibernate-annotations

我正在将Hibernate hbm.xml文件转换为hibernate注释, 当我使用下面的代码时,我总是得到一个 无法解析属性“ P hone”(大写第一个字母)错误

我不知道为什么hibernate将“phone”更改为“Phone”(手机是Phone.class中带有getter“getPhone”的字段)

  public List<Phone> findAllPhones(Orderergroup orderergroup,
      Suppliercategory suppliercategory) {
    Criteria crit = getSession().createCriteria(Phone.class, "t")
        .add(Restrictions.eq("phone", orderergroup));
    if (suppliercategory != null && suppliercategory.getId() != null) {
      crit.add(Restrictions.eq("phone", suppliercategory));
    }
    return crit.list();
  }

在Phone.class中,supcat像这样映射

@ManyToOne(targetEntity = Suppliercategory.class, optional = false, fetch = FetchType.LAZY)
@JoinColumn(name = "SUPCAT_id", nullable = false)
private Suppliercategory        supcat;

旧的.hbm.xml文件包含

<many-to-one name="Supcat" class="Suppliercategory"
    not-null="true" unique-key="unique_phone">
    <column name="SUPCAT_id" />
</many-to-one>

有谁知道我的问题可能是什么原因?

我正在使用hibernate 3.0,最后我想使用最新版本。

0 个答案:

没有答案