ssh3整合后执行添加出现的问题

ssh3整合例子,执行添加功能正常添加;
重复添加动作表【1】正常添加,但与表【1】关联的表【2】出现异常
即表【2】添加的第二条数据会覆盖上一条数据
只能重新启动程序才能正常添加
不明白为什么求思路,如果有需要我再贴出代码,谢谢大家!

这怎么看的明白,还是得看代码

一共两个实体类:book1类,author1类,book类中添加多对一映射,映射文件如下:
Book1.hbm.xmlL:














DAO层:
// 添加信息
@Override
public void save(Book1 book) {
getHibernateTemplate().save(book);

}

Service层:
// 添加信息
@Override
public boolean save(Book1 book) {
try {
bookDAO.save(book);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
action层:
// 添加信息
public String save() throws Exception {
boolean flag = bookService.save(book);
if(flag) {
return SUCCESS;
} else {
return "false";
}
}
jsp页面:



书名:

作者:

年龄:


查询全部


bean_book.xml文件,存放的spring信息:














bean_common.xml文件,存放的是hibernate连接:
<bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="url"
        value="jdbc:mysql://localhost:3306/zhizhuo">
    </property>
    <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
    <property name="username" value="root"></property>
    <property name="password" value="root"></property>
</bean>
<bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
        <ref bean="dataSource" />
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">
                org.hibernate.dialect.MySQLDialect
            </prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.format_sql">true</prop>
        </props>
    </property>
    <property name="mappingResources">
        <list>
            <value>com/zgx14/pojo/Book1.hbm.xml</value>
            <value>com/zgx14/pojo/Author1.hbm.xml</value></list>
    </property></bean>

web.xml:
day14ssh02

struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter


struts2
/*


org.springframework.web.context.ContextLoaderListener


contextConfigLocation
classpath:beans_*.xml

执行程序后,第一次添加正常,再次添加时,关联的author表中的第一条数据会被第二条覆盖,也就是两条数据都显示都二条的内容

Book1.hbm.xml

<hibernate-mapping>
    <class name="com.zgx14.pojo.Book1" table="book1" catalog="zhizhuo">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="identity" />
        </id>
        <property name="bookName" type="java.lang.String">
            <column name="book_name" length="50" not-null="false" />
        </property>
        <many-to-one name="author" class="com.zgx14.pojo.Author1" lazy="false" cascade="all">
            <column name="author_id"></column>
        </many-to-one>
    </class>

如果有明白的还请不要客气啊!!!

问题已解决,在spring的配置的action的bean中默认的类型改写成多例就可以了。