转自:http://blog.csdn.net/zdwzzu2006/article/details/7552234
异常1:not-null property references a null or transient value
解决方法:将“一对多”关系中的“一”方,not-null设置为false
(参考资料:http://www.thearcmind.com/confluence/pages/viewpage.action?pageId=212)
异常2:org.hibernate.TransientObjectException: object references an unsaved transient instance
解决方法:cascade="save-update,persist"
(参考资料:http://www.laliluna.de/254.html)
异常3:org.hibernate.QueryException: could not resolve property
解决方法:"from Category category where category.userID = :userID"修改为"from Category category whereuserID = :userID"或者"from Category category where category.user.id = :userID"
(参考资料:http://www.laliluna.de/277.html)
异常4:could not initialize proxy - the owning Session was closed
解决方法:设置lazy为false
(参考资料:http://forum.springframework.org/showthread.php?t=27993)
异常2我在应用中碰到了这样的问题:
有三个表:userInfo deptmentInfo role
userInfo 与deptmentInfo为many to one
userInfo 与role为many to one
下面为保存UserInfo对象时的代码:
DeptmentInfo dept = new DeptmentInfo();
dept.setDeptName(deptName);
Role role = new Role();
role.setRoleName(roleName);
UserInfo user = new UserInfo();
user.setUserName(userName);
user.setUserSex(userSex);
user.setDuty(duty);
user.setPhone(phone);
user.setMobileNum(mobileNum);
user.setEmail(email);
user.setQq(qq);
user.setMsn(msn);
user.setAdress(adress);
user.setDeptmentInfo(dept);
user.setRole(role);
dao.save(user);
执行时有错:org.hibernate.TransientObjectException: object references an unsaved transient instance
于是改了UserInfo.hbm.xml的一些地方
如下:
<many-to-one name="role" class="com.oa.domain.Role"
cascade="save-update,persist" fetch="select">
<column name="ROLE_ID" precision="22" scale="0" />
</many-to-one>
<many-to-one name="deptmentInfo"
class="com.oa.domain.DeptmentInfo" cascade="save-update,persist"
fetch="select">
<column name="DEPT_ID" precision="22" scale="0" />
</many-to-one>
加了上面红色部分的,就OK了,能保存了。
相关推荐
本篇将深入探讨如何在Hibernate中实现数据库操作而无需使用注解,以及如何解决在Hibernate 3中遇到的连接SQL的常见问题。 首先,让我们了解在Hibernate中免注解实现数据库操作的基本步骤: 1. **配置Hibernate**: ...
除此之外,文档中还可能提及其他类型的Java错误以及解决办法,比如: - 类型转换异常(java.lang.ClassCastException) - 数组越界异常(java.lang.ArrayIndexOutOfBoundsException) - null指针异常(java.lang....
文档内容主要涉及到JavaEE Web应用开发中,特别是在使用Hibernate框架和Spring框架集成时遇到的错误及其解决办法。内容中多次提及了“lazy initialization”异常,这通常发生在尝试访问一个被延迟加载的集合时,但是...
通过这个项目,你可以实际操作一遍SSH框架的搭建,遇到问题时,可参考提供的错误解决办法文档,以便快速定位并解决问题。 总结来说,SSH框架的搭建涉及SpringMVC的请求处理、Spring的依赖注入和事务管理,以及...
解决这种不匹配的办法有两种:一是使用JDBC手工转换数据,二是使用对象关系映射(ORM)框架,比如Hibernate、TopLink或OJB。 了解Hibernate的基础后,可以开始构建第一个实例,其中需要导入相关的jar包、实体类和...
以上这些问题和解决办法都是在实际项目开发中常见的问题,通过有效的沟通、规范的代码管理和细致的测试,可以避免或解决这些问题,提高项目的质量和效率。在团队协作中,遇到问题并不可怕,关键是要有解决问题的决心...
这个查询通过别名关联了四个子查询,分别对应了Java、JDBC和Hibernate的成绩,以及所有课程的总成绩。每个子查询的别名使得外部查询能以`name1`, `Java`, `jdbc`, `hibernate`和`total`来引用它们。 总结来说,理解...
10. **常见调试问题与解决办法**:在实际开发中,可能会遇到如SQL执行异常、对象状态错误等问题,需要熟练掌握日志分析、断点调试等技巧来定位和解决问题。 11. **代码规范问题**:强调代码的可读性和可维护性,...
解决办法是确保所有在HQL查询中使用的实体和属性都已在JPA配置中正确声明。 ### 2. java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.lang.String 当尝试将一个对象数组转换为字符串时...
对于给出的博客链接,虽然没有具体内容,但通常这类资源会包含作者遇到问题的具体情况和解决办法,可以作为一个参考。 总之,解决此类问题需要对这三个框架有深入的理解,并熟悉它们的集成方式。通过仔细检查配置...
解决 java.lang.NoSuchMethodError 的错误 Java.lang.NoSuchMethodError 错误是一种常见的 Java 异常,它发生在 Java 虚拟机 (JVM) 无法找到某个类的特定方法时。这种错误可能是由于项目依赖比较复杂、Java 运行...
如果你在使用middlegen时遇到问题,可以尝试以下解决办法: 1. **寻找替代方案**:如前所述,Spring Data JPA和MyBatis是现代Java开发中常用的ORM框架,它们可能更适合当前的开发环境。 2. **查阅社区资源**:尽管...
例如,如果你在EJB组件中使用了`@Stateless`或`@Entity`注解,XDoclet会生成对应的EJB或Hibernate映射文件。这极大地简化了开发者的工作,减少了手动编写XML配置文件的负担。 在1.2.1版本中,XDoclet可能已经修复了...
本文主要探讨如何在Hibernate中调用存储过程,并通过示例代码来具体分析可能遇到的问题及其解决办法。 #### 二、配置文件解析 在配置文件 `<hibernate-mapping>` 中,定义了一个名为 `SshPost` 的类映射到数据库表...
在解决数据库加载失败的问题时,实习生通过多种途径,包括论坛求助和同学指导,最终找到了问题的解决办法,这可能涉及到SQL Server的更新、数据库连接配置的准确性,以及服务器版本的兼容性等问题。 这个实习过程...
这时,可以尝试以下解决办法: 1. 检查汉化包的版本是否与MyEclipse 6.5匹配,不同版本的MyEclipse可能需要对应的汉化包。 2. 清除MyEclipse的工作空间数据,有时候错误的配置信息会导致问题。 3. 查阅汉化包的说明...
2. **字符编码问题**:页面乱码和数据库乱码问题通常与字符编码设置不一致有关,解决办法是在应用和数据库中统一字符编码,例如使用UTF-8。 3. **SQL查询优化**:当查询包含重复字段时,可以使用GROUP BY语句结合...