关于 org.hibernate.WrongClassException 错误的解决!
首先看log(中间的null有可能是数字),说明在保存时出现子类id不匹配的问题。
Object with id: null was not of the specified subclass: org.appfuse.model.User (class of the given object did not match class of persistent copy);
nested exception is org.hibernate.WrongClassException: Object with id: null was not of the specified subclass: org.appfuse.model.User (class of the given object did not match class of persistent copy)
问题很奇怪,同样的代码在以往是有效的。由于本人比较懒于是乎就查了google,发现是与子类映射有关?
详细描述大家可以参考网络上面的,这里我只说解决方法。
简单讲,问题时出现在与子类相关的映射中:
比如 User 实体有两个子类 Employee,Employer(举例),
我们直接修改 user 并保存于是出现了上面的异常,但同样的代码却可以保存 Employee和Employer实体,原因是hibernate不能确定其中一个这个实体子类。于是将原来的代码加上:
BeanUtils.copyProperties(user, employee);
直接copy一个Employee实体出来以确定使用哪个子类,于是乎现在保存就行了。
原则上就是:既然hibernate无法确认子类那我们就帮帮他确认好了。
原因不分析了,这不是俺的强项。呵呵~~
另外,如果哪位大侠有高见麻烦留个言吧,以便在下可以学习一下。多有谢过啦~~~!
还有就是如果页面中出现了重复的域也有可能导致问题,这个需要仔细检查页面。
分享到:
相关推荐
### WebLogic 12下org.hibernate.hql.ast.HqlToken冲突解决方案 在使用WebLogic 12部署应用程序时,可能会遇到与`org.hibernate.hql.ast.HqlToken`相关的异常问题。这种异常通常与Hibernate版本之间的不兼容性有关...
hibernateProperties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect"); hibernateProperties.setProperty("hibernate.show_sql", "true"); sessionFactory.setHibernateProperties...
通过添加该注解,我们可以将 Hibernate Session 绑定到当前线程,从而解决 "No Hibernate Session bound to thread" 错误。 例如,在查询操作中,我们可以添加以下注解: @Transactional(propagation=Propagation....
标题 "org.hibernate.ejb-library-3.4.0.GA-A" 指示这是一个与Hibernate相关的库,特别针对EJB(Enterprise JavaBeans)版本3.4.0,并且是为OSGi环境优化的。描述中提到它适用于在Virgo Jetty服务器上进行Web开发,...
标题中的"org.hibernate.ejb-library-3.4.0.GA"是Hibernate Entity Beans的一个特定版本,它是Hibernate框架的一部分,专门用于处理Java Enterprise Edition (EE)环境中的持久化。Hibernate是著名的对象关系映射...
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/...
org.hibernate.jpa.QueryHints jar hibernate-entitymanager-4.3.0.Final.jar
org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.connections.spi.ConnectionProvider] at org.hibernate.service.internal....
标题中的“启动tomcat报错org.hibernate.cache.CacheProvider”指的是在尝试启动Apache Tomcat服务器时遇到了与Hibernate缓存提供者相关的错误。这通常涉及到Hibernate框架的配置或运行时环境问题。Hibernate是一个...
在本问题中,我们遇到了一个特定的错误,即“weblogic10.3 org.hibernate.hql.ast.HqlToken报错”,这涉及到Hibernate ORM框架和其在WebLogic上的运行。让我们深入探讨这个问题,以及可能的解决方案。 首先,`org....
org.hibernate.eclipse.feature_3.2.3.GAorg.hibernate.eclipse.feature_3.2.3.GA
在eclipse上通过hibernate...重启eclipse即可生效(插件包所在路径是:D:\eclipse\plugins\org.hibernate.eclipse.libs_3.6.0.Final-v20130327-1513-B111\lib\tools\hibernate-tools-3.4.0.CR2.jar(版本号可能有出入))
jar包,官方版本,自测可用
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory 3.3配置如下: <property name="hibernate.cache.use_second_level_cache">true <property name="cache...
nested exception is org.hibernate.PropertyNotFoundException: Could not find a getter for ID in class ``` 这表示Hibernate找不到实体类中的 ID 属性的 getter 方法。 **解决方法**: 1. **实体类定义**:...
Caused by: org.hibernate.boot.registry.selector.spi.StrategySelectionException: Unable to resolve name [org.hibernate.connection.C3P0ConnectionProvider] as strategy [org.hibernate.engine.jdbc.... ...
包含hibernate所有所需jar包还有一些其他包日志包、jpa支持包等: 列如:hibernate-core-5.1.0.Final.jar hibernate-ehcache-5.1.0.Final.jar hibernate-entitymanager-5.1.0.Final.jar hibernate-envers-5.1.0....
Hibernate提供了多种SQL方言,例如org.hibernate.dialect.OracleDialect、org.hibernate.dialect.MySQLDialect、org.hibernate.dialect.SQLServerDialect等。我们可以在配置文件中使用元素来设置SQL方言,例如: ...
weblogic10 与hibernate冲突解决方案 错误如下:org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken linux windows 环境解决方案全解 Linux 启动脚本添加如下: export USER_...
org.hibernate.TransactionException: JDBC rollback failed