Hibernate 抛出 HibernateQueryException:无法解析属性

2024-04-10

所以我有一个在休眠中定义为实体的表,如下所示:

@Entity
@Table(name = "sec_Preference")
public class Preference {
private long id;

@Column(name = "PreferenceId", nullable = false, insertable = true, updatable = true, length = 19, precision = 0)
@GeneratedValue(strategy = GenerationType.AUTO)
@Id
public long getId() {
    return id;
}

public void setId(long id) {
    this.id = id;
}

private long systemuserid;

@Column(name = "SystemUserId", nullable = true, insertable = true, updatable = true, length = 19, precision = 0)
@Basic
public long getSystemUserId() {
    return systemuserid;
}

public void setSystemUserId(long systemuserid) {
    this.systemuserid = systemuserid;
}

private long dbgroupid;

@Column(name = "DBGroupId", nullable = true, insertable = true, updatable = true, length = 19, precision = 0)
@Basic
public long getDBGroupId() {
    return dbgroupid;
}

public void setDBGroupId(long dbgroupid) {
    this.dbgroupid = dbgroupid;
}

private long externalgroupid;

@Column(name = "ExternalGroupId", nullable = true, insertable = true, updatable = true, length = 19, precision = 0)
@Basic
public long getExternalGroupId() {
    return externalgroupid;
}

public void setExternalGroupId(long externalgroupid) {
    this.externalgroupid = externalgroupid;
}

private long securityroleid;

@Column(name = "SecurityRoleId", nullable = true, insertable = true, updatable = true, length = 19, precision = 0)
@Basic
public long getSecurityRoleId() {
    return securityroleid;
}

public void setSecurityRoleId(long securityroleid) {
    this.securityroleid = securityroleid;
}

public void setEnum(com.vitalimages.common.server.security.Preference pref) {
    this.preferencekey = pref.name();
}

private String preferencekey;

@Column(name = "PreferenceKey", nullable = false, insertable = true, updatable = true, length = 255, precision = 0)
@Basic
public String getKey() {
    return preferencekey;
}

public void setKey(String key) {
    this.preferencekey = key;
}

private String preferencevalue;

@Column(name = "PreferenceValue", nullable = true, insertable = true, updatable = true, length = 255, precision = 0)
@Basic
public String getValue() {
    return preferencevalue;
}

public void setValue(String value) {
    this.preferencevalue = value;
}

}

当我尝试针对该表编写一个简单的查询时:

public Collection<Preference> getPreferencesForDBGroup(long dbgroupId) {
    final DetachedCriteria criteria = DetachedCriteria.forClass(Preference.class)
            .add(Restrictions.eq("dbgroupid", dbgroupId))
            .setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE);

    return getHibernateTemplate().findByCriteria(criteria);
}

我收到以下错误:

org.springframework.orm.hibernate3.HibernateQueryException: could not resolve property: dbgroupid of: com.common.server.domain.sec.Preference; nested exception is org.hibernate.QueryException: could not resolve property: dbgroupid of: com.common.server.domain.sec.Preference

为什么 Hibernate 无法找出我的班级中的 dbgroupid 是什么?


这可能是因为您的 getter(和 setter)没有遵循 javabean 约定。它应该是:

public long getDbgroupId() {
    return dbgroupid;
}

我的建议是 - 为您的字段命名,然后使用 IDE 生成 setter 和 getter。它将遵循惯例。 (另一件事,这是一个偏好问题,但在我看来,使类更容易阅读 - 注释你的字段,而不是吸气剂)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hibernate 抛出 HibernateQueryException:无法解析属性 的相关文章

随机推荐

  • 如何在 EF-Code-First 中指定主键名称

    我正在使用实体框架 Codefirst 来创建我的数据库 当我通过 ODBC 连接到 Access 2007 时 模式名称为 dbo pk Jobs 的默认主键似乎扰乱了它 如果我手动编辑名称并删除架构名称并将该主键重命名为 pk jobs
  • Jekyll 2.1 中的 SCSS @import

    我有这个项目结构 Project css main scss sass base layout pages vendor 我的 main scss 文件的内容 import sass base reset import sass base
  • Apache 正在将文件夹重定向到同名的 .html 文件

    我正在尝试将 404 json fales 重定向到 404 json 以 作为内容 但 apache 正在将文件夹重定向到具有相同文件夹名称的 html 文件 并且任何自定义 404 json 重定向都会失败 文件结构 示例1 示例2 e
  • Python 集合与列表

    在Python中 哪种数据结构更高效 更快 假设顺序对我来说并不重要 并且无论如何我都会检查重复项 那么 Python 集比 Python 列表慢吗 这取决于您打算用它做什么 在确定某个对象是否存在于集合中时 集合的速度要快得多 如x in
  • Typescript 重写抽象方法,该方法返回 void

    abstract class Base abstract sayHello void class Child extends Base sayHello return 123 抽象方法的返回类型是void但我可以用数字类型返回来实现它 我没
  • 为什么我的 keras LSTM 模型陷入无限循环?

    我正在尝试构建一个小型 LSTM 它可以通过在现有 Python 代码上进行训练来学习编写代码 即使是垃圾代码 我已将数百个文件中的数千行代码连接到一个文件中 每个文件以
  • 在 Ubuntu 16.04 上安装 OpenCV 时出错

    我一直在尝试使用几个教程在 Ubuntu 16 04 上安装 OpenCV 但总是出现错误 这是我按照本教程得到的最后一个 https github com BVLC caffe wiki Ubuntu 16 04 or 15 10 Ope
  • Android VOIP 应用程序在 Doze 模式下的行为

    我正在 Android 上开发旧版 VOIP 应用程序 它目前不使用 Google Cloud Messaging 技术 只是永远保留自己的 TCP 连接 最近 谷歌推出了 Android M 预览版打瞌睡模式 https develope
  • UITextView beginOfDocument 返回 nil

    我必须获取包含在屏幕上的字符串的位置UITextView 为此 我尝试获取相应的 UITextPosition 问题是UITextView method beginningOfDocument回报nil 同样适用于endOfDocuemen
  • 如何在Python中从流(不是磁盘支持的文件)读取Excel文件?

    XLRD已安装并测试 gt gt gt import xlrd gt gt gt workbook xlrd open workbook Sample xls 当我通过如下所示的 html 表单读取文件时 我可以访问所有值 xls file
  • 我们如何解决 PagerTitleStrip 和 PagerTabStrip 中的空白标题?

    支持 v4 版本 23 0 0 的 PagerTitleStrip 和 PagerTabStrip 存在问题 的标题视图ViewPager使用时PagerTitleStrip or PagerTabStrip以及版本 23 0 0 用于 M
  • 如何使用Guice注射器?

    我正在学习Guice 但我不太清楚如何使用Injector实例 最好是创建Injector在应用程序引导程序上实例一次 并将其设为公共单例 我们是否总是必须使用Injector getInstance SomeClass class 去我们
  • 在 Android Studio 中使用 GameCircleSDK 时,多个 dex 文件定义了 Lcom/amazon/ags/BuildConfig

    我最近将 Android 项目从 Eclipse 导入到 AndroidStudio 中 一切都很顺利 我能够解决大多数问题 除了 GameCircleSDK 库模块的问题 我不断收到以下错误 UNEXPECTED TOP LEVEL EX
  • 如何获取文件 *.apk 在 Android 设备中的位置

    需要以编程方式从 Android 设备检索 apk 文件名的帮助吗 如果我只知道文件名的一部分 任何机构都可以提供一些 Android 方法来执行此操作 甚至可以在 Android 下运行 shell 命令来获取文件位置吗 另外 是否有一种
  • GroupBy 表达式翻译失败

    Model public class Application Key public int ApplicationId get set public DateTime CreatedAt get set public DateTime Co
  • 使用逻辑运算符进行 Laravel 表单验证

    当用户填写消息 文本区域 时 他 她无法填写日期 时间 地点值 仅当 Message 为空且所有这三个字段均已填充时 才会考虑这三个字段 如何使用 Laravel 表单验证来做到这一点 是否可以在Request的规则方法中定义这些逻辑 我是
  • 如何禁用部分 UISegmentedControl?

    以下是代码UISegmentedControl UISegmentedControl segmentedControl UISegmentedControl alloc initWithItems NSArray arrayWithObje
  • 来自 ISO8601 时间戳字符串的 Django 模型 DateTimeField

    这里是 Django 新手 我正在为带有字符串时间戳的 SQLite 数据库制作 Django 模型 例如2014 09 23T18 43 26 692Z 因为我想最终使用 Django 的过滤引擎进行查询 而不是使用strftime 我希
  • 如何获取故障转储

    我需要从程序中获取故障转储 我怎样才能得到它 该程序是用 C 编写的 故障转储到底是什么 它是什么时候创建的 它保存在哪里 我如何阅读它 既然你说的是 C 我假设你使用的是 Windows 平台 故障转储 或简称转储 是特定时间点进程的完整
  • Hibernate 抛出 HibernateQueryException:无法解析属性

    所以我有一个在休眠中定义为实体的表 如下所示 Entity Table name sec Preference public class Preference private long id Column name PreferenceId