如下两个表,一对多的关系:riskDutyFacotr<->riskDutyFactorUnit
---------------------------
create table riskDutyFactor
(
ID INTEGER not null,
factorName CHAR(20),
specComments VARCHAR(50),
sign CHAR(1),
constraint P_riskDutyFactor_I primary key (ID)
);
--==============================================================
-- Table: riskDutyFactorUnit
--==============================================================
create table riskDutyFactorUnit
(
ID INTEGER not null,
rdf_ID INTEGER,
factorUnit CHAR(20),
value CHAR(30),
constraint P_Key_1 primary key (ID)
);
---------------------------
service中操作两个表的代码如下:
//保存一个责任要素
public void saveRiskdutyfactor(String factorName,String factorSign,String factorUnit,String factotValue){
riskDutyFactor.setFactorname(factorName);
if(factorSign.equals("factorSign")){
riskDutyFactor.setSign("0");
}else{
riskDutyFactor.setSign("1");
}
riskDutyFactorUnit.setFactorunit(factorUnit);
riskDutyFactorUnit.setValue(factotValue);
// if(riskDutyFactor.getRiskdutyfactorunits().add(riskDutyFactorUnit)==true){
// System.out.println("success add children! ");
// }经过测试是可以执行该段代码的
riskDutyFactor.getRiskdutyfactorunits().add(riskDutyFactorUnit);
this.getRiskDutyFactorDAO().saveRiskdutyfactor(riskDutyFactor);
this.getRiskDutyFactorUnitDAO().saveRiskDutyFactorUnit(riskDutyFactorUnit);
}
----------------------
spring配置文件为:
<bean id="proxyTemplate" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="riskDutyFactorTarget" parent="proxyTemplate">
<property name="target">
<bean class="com.gi.service.defineFactor.spring.RiskDutyFactorServiceImpl">
<property name="riskDutyFactorDAO">
<ref local="riskDutyFactorDAO" />
</property>
<property name="riskDutyFactorUnitDAO">
<ref local="riskDutyFactorUnitDAO" />
</property>
</bean>
</property>
</bean>
-----------------------
可以成功执行日志为:
Hibernate: values nextval for S_riskDutyFactor
Hibernate: values nextval for S_riskDutyFactorUnit
Hibernate: insert into XFLIU.RISKDUTYFACTOR (FACTORNAME, SIGN, ID) values (?, ?, ?)
Hibernate: insert into XFLIU.RISKDUTYFACTORUNIT (RDF_ID, FACTORUNIT, VALUE, ID) values (?, ?, ?, ?)
但是没有将两个表关联起来,为什么?我一直怀疑是我spring的配置有问题,两个dao在两个session里执行的,对吗?如果正确我应该怎么改进?谢谢大家!
分享到:
相关推荐
### Spring初学者学习指南 #### 一、基础知识的构建 对于初学者来说,学习Spring之前必须打牢基础,包括但不限于Java基础知识、面向对象编程以及设计模式。这些是理解和运用Spring框架的重要前提。 - **Java基础...
Spring框架,非常简单Demo,只适用于初学者。 1 首先我们需要一个bean,用某种方法(设置注入需要有setter函数,构造注入需要有构造函数,相应的bean.xml配置文件也会不同)设定注入方式。 2 bean.xml,设置bean...
**标题解析:** "cxf与Spring的整合实例(适合初学者)" 指的是一个教程或示例项目,旨在帮助初次接触CXF和Spring框架的开发者理解如何将这两个强大的开源工具集成在一起。CXF是一个流行的开源服务框架,常用于构建...
在这个简单的例子工程中,我们可能会看到如何使用 Spring 的 JdbcTemplate 或者 DataSource 来进行数据库操作。 **JdbcTemplate** JdbcTemplate 是 Spring 提供的一个简单且强大的工具,用于简化 JDBC 编程。它...
【MyBatis-Spring配置教程】是一份专为初学者设计的教程,旨在帮助学习者快速掌握如何在Spring框架中整合并使用MyBatis。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,而Spring则是一个...
在这个初学者项目中,我们将深入探讨Spring的这两个关键特性。 **IoC(Inversion of Control,控制反转)**是Spring的核心特性之一。它改变了传统的对象创建方式,将对象的依赖关系管理从代码中剥离出来,交由...
Spring框架的核心特性包括依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP),这两个特性极大地简化了Java应用的开发。 **2. Spring模块** Spring框架由多个模块组成,包括...
同时,Spring的官方文档(Spring reference)也是一个非常重要的资源,虽然阅读起来可能较为吃力,但它是获取最准确信息的途径。 三、开源项目研究 理论学习之后,理论联系实际是非常重要的一步。通过研究Spring...
Servlet JSP和Spring MVC初学指南是Servlet、JSP 和Spring MVC 的入门教程,是畅销图书《Spring MVC 学习指南》的姊妹篇。 Servlet 和JSP 是Java Web 应用开发的底层技术,而Spring MVC 是Spring 框架中用于解决...
这个"springmvc spring hibernate整合Demo"旨在帮助初学者理解如何将这三个框架协同工作,实现一个完整的CRUD(创建、读取、更新、删除)应用。 Spring MVC 是 Spring 框架的一部分,专门用于构建Web应用程序。它...
这个项目是一个基于Spring MVC和Spring JDBC的简单用户管理应用,旨在帮助初学者理解如何在实际开发中实现用户登录、注册以及信息修改功能。Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序,而Spring ...
对于 Spring 初学者的学习建议可以归结为六个阶段: Java 基础知识、学习 Spring 入门书籍、研究开源项目、开始做实际项目、继续深入学习、高级用户必读书籍和分析源代码。 一、Java 基础知识 首先,Java 的基础、...
本教程是针对初学者设计的,通过"Spring MVC工程-初学者HelloWorld"项目,我们将深入探讨Spring MVC的基本概念和实践操作。 首先,我们需要一个集成开发环境(IDE),这里使用的是Eclipse。Eclipse是Java开发者常用...
这个压缩包文件"SpringCloud 15个完整例子"提供了一系列从基础到进阶的示例项目,帮助用户深入理解并实践SpringCloud的各项功能。以下是这些示例中可能涉及的关键知识点: 1. **Spring Cloud Eureka**:作为服务...
这个"spring类库"的压缩包很可能包含了Spring框架的核心jar文件,以及可能的配置示例和文档,是初学者和经验丰富的开发者都非常需要的资源。通过这些文件,开发者可以快速地在项目中引入和使用Spring框架,进行高效...
每个技术点都有详细的解释和相应的源码案例介绍,适合初学者学习和掌握Spring Boot开发技术。 通过本教程,我们详细介绍了如何快速搭建一个Spring Boot项目,包括从环境搭建、项目创建、编写Controller、数据库操作...
Java Spring和Hibernate是两个在企业级Java开发中广泛使用的开源框架。Spring是一个全面的后端开发框架,提供了从依赖注入到事务管理的各种功能,而Hibernate则是一个对象关系映射(ORM)工具,使得开发者可以使用...
在Java后端开发中,Spring和MyBatis是两个非常重要的框架。Spring作为一个全面的开源应用框架,提供了依赖注入(DI)、面向切面编程(AOP)、事务管理等核心功能,而MyBatis则是一个优秀的持久层框架,它简化了...
标题中提到的“spring教程-经典官方教程(适合初学者)”意味着本教程旨在为初学者介绍Spring框架的基础知识和使用方法。Spring是一个广泛使用的Java平台,它提供了全面的编程和配置模型,支持现代Java应用程序的开发...
在双表操作中,Hibernate的Criteria或HQL(Hibernate Query Language)可以用来执行复杂的查询,包括两个关联表的联合查询。同时,Hibernate还提供了实体的保存、更新和删除功能,简化了数据的增删改操作。 在本...