Java Hibernate进阶教程:关联映射与Ant工具详解

需积分: 0 0 下载量 181 浏览量 更新于2024-07-25 收藏 2.01MB PDF 举报
"Java Hibernate Day 04的文档详细介绍了在Java ORM框架Hibernate中的一些关键知识点。本教程针对初学者和中级开发人员设计,主要涵盖以下几个核心主题: 1. 继承关联映射 (Inheritance Mapping) - 理解与应用级别: 达内IT培训集团将其列为中级技术,它处理的是实体类之间的继承关系如何映射到数据库表结构。包括两种情况: - 映射到多个表(Single Table Inheritance, STI): 子类继承自一个公共父类,并且每个子类有自己的独立记录。文档解释了如何定义类、配置文件中的`<joined-subclass>`标签以及基本操作,如保存、删除和查询子类对象。 - 映射到一个表(Concrete Table Inheritance, CTE): 子类直接映射到父类的表,通过添加额外字段来区分。 2. 组合映射 (Composition Mapping) - 这部分介绍了如何处理一个类包含另一个类实例的情况,通常通过`<one-to-one>`或`<bag>`元素进行配置,展示了如何利用这种关系进行数据操作。 3. One-to-many (List) 关联 - `List`关联用于表示一对多的关系,使得程序开发更加灵活,文档提供了实际案例,展示了如何在代码中操作这个关系。 4. Component 映射 - Component映射允许将多个属性打包成一个独立的对象,便于管理和复用。文档通过示例展示了如何使用`<component>`元素实现。 5. Ant 开发工具简介 - Ant是一个构建工具,用于自动化软件构建过程。文档简要介绍了Ant的基本概念和使用Ant进行项目构建的操作,包括实际的演示。 整个教程通过实例驱动的方式,帮助学习者掌握Hibernate在处理不同复杂度关系时的最佳实践。对于希望通过Hibernate提升Java应用性能和数据持久化的开发者来说,这些内容至关重要。通过深入理解和掌握这些知识点,可以有效地提高开发效率并避免常见问题。"

Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:61) at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:46) at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:68) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298) at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41) at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969) at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1690) at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142) at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152) at com.sinosoft.sysframework.persistence.HibernateSQLQuery.doInHibernate(HibernateSQLQuery.java:118) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366) at org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:338) at com.sinosoft.sysframework.persistence.BaseDaoHibernateImpl.queryList(BaseDaoHibernateImpl.java:224) at com.sinosoft.application.reins.persistence.hibernate.base.GrRePlanItemDaoHibernateImplBase.find(GrRePlanItemDaoHibernateImplBase.java:127) at com.sinosoft.application.reins.service.spring.GrTrialServiceSpringImpl.endorTrialDataSurrender(GrTrialServiceSpringImpl.java:9536) at com.sinosoft.application.reins.service.

2023-06-03 上传