当前位置: 首页 > 面试题库 >

休眠PropertyAccessException:IllegalArgumentException

马沛
2023-03-14
问题内容

我有一个hibernate映射,该映射一直工作到最近-尽管我确定这是我所做的某些更改的结果,但我似乎找不到它。

映射文件将字段定义为:

<id name="id" column="id">
    <generator class="native" />
</id>

该类将该字段定义为:

private Long id;
public Long getId() {
    return id;
}
public void setId(Long id) {
    this.id = id;
}

运行此代码时,出现以下错误:

org.hibernate.PropertyAccessException: 
    IllegalArgumentException occurred while calling setter of MyClass.id

与此对应的数据库字段定义为:

`id` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY

我还有其他几个具有相似结构和定义的类,并且它们没有问题。但是,可能由于我最近所做的一些更改而导致,此特定映射将不再正常工作。

有什么建议么?


问题答案:

我不确定,但是您可以尝试以下方法:

<id name="id" type="java.lang.Long">
            <column name="id" />
            <generator class="native" />
</id>

Hibernate可能设置了错误的值。



 类似资料:
  • 问题内容: 我收到了一个我无法解释的奇怪的Hibernate异常。告诉我我正在使用二级缓存,但是没有在哪里指定二级缓存。这是例外: 而我的: 有什么想法会触发此异常吗?提前致谢! 问题答案: Pau在hibernate.cfg.xml中写了hibernate.cache.region.factory_class: 唯一的例外是不言而喻的。您必须设置 属性。例如,使用ehcache将添加以下行: n

  • 问题内容: 有人可以透视一下JPA和Hibernate之间的区别吗?还是将这些互补的概念一起使用? 问题答案: 大致来说,JPA是java社区的一个标准,这里是specs,它是由Hibernate家伙实现(并扩展)的(此处提供一些信息)。作为规范,您将不会直接使用JPA,而是使用JPA实现。 请注意,如果要使用hibernateJPA扩展,将破坏与其他JPA实现的兼容性(尽管有些人会说“为什么要使

  • 问题内容: 我有一个Spring和Hibernate3在生产中运行良好的应用程序。以下是Spring的applicationContext.xml中会话工厂的配置 生产正常。 现在,对于另一个项目,我们正在迁移到Hibernate4。我们使用org.springframework.orm.hibernate4。*包中的Hibernate 4的SessionFactory,TransacionMan

  • 问题内容: 这是我在堆栈上的第一个问题,请保持温柔:D 我正在尝试创建休眠的OneToMany关系。当我尝试从数据库中获取一些数据时,出现了StackOverflowError。但是,当我删除OneToMany部分时,一切正常。这是我的REST服务的一部分,目前它可以在VMware vFabric Server和MySQL DB上运行。 获取示例: MySQL脚本: 类: 错误: 编辑: 感谢@T

  • 问题内容: 我正在通过Hibernate Documentation遇到一个问题。这些与我们用于数据库的相同吗?它们有何不同? 我正在尝试一个简单的示例,并观察到当我使用session.load()方法本身时,hibernate状态正在命中数据库,而不是在加载对象上调用某些方法时,hibernate状态正在命中数据库。 我观察到hibernate在第2行本身命中了数据库,请告诉我为什么会这样发生?

  • 问题内容: 我正在使用JBoss Embedded 版本beta3.SP10,并且遇到了应该在某些Hibernate版本中修复的持久性错误。可悲的是,我不知道在我的JBoss Embedded中使用了什么版本的Hibernate,也找不到找到此信息的方法,它捆绑的文件中没有 类,也不包含MANIFEST。 我如何不使用就可以找到当前加载的Hibernate版本? 问题答案: 尝试这个, 在这里找到