我有一个实体“UserDetails”,其中包含以下变量:

  • 字符串userId
  • 字符串userName
  • UserContact userContact(其中UserContact是可嵌入的类)

  • UserContact具有以下变量:
  • 字符串phoneNumber
  • 字符串电子邮件
  • 字符串城市

  • 用于获取以下列表的 hibernate 标准是什么:

    用户名为userName =“sam”,城市为“New York”的用户

    我尝试了以下操作,并获得了运行时异常,即它无法识别变量“city”:
    List<UserLogin> list = session.createCriteria(UserLogin.class)
        .add(Restrictions.eq("userName","sam"))
        .add(Restrictions.eq("city", "New York"))
        .list();
    

    最佳答案

    哦,我想通了...

    List<UserLogin> list = session.createCriteria(UserLogin.class)
       .add(Restrictions.eq("userName","sam"))
       .add(Restrictions.eq("userContact.city", "New York"))
       .list();
    

    傻了,只需要添加“userContact.city”而不是“city”,其中userContact是我实体中UserContact类的对象。

    关于java - 具有嵌入式对象的实体的 hibernate 标准,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14015310/

    10-12 06:04