我的配置文件和Dao如下,问题是save方法只能提交到缓存,并没有提交到数据库,找了很多资料都不能解决,只能放弃这种方法,挺不甘心的,网上很多人说是这样做,可是还是不行,希望能找到症结: [code]
<bean id="SessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" singleton="true">
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
<prop key="hibernate.proxool.xml">Proxool.xml</prop>
<prop key="hibernate.proxool.pool_alias">DBPool</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>hibernatePojo/Worker.hbm.xml</value>
</list>
</property>
</bean>
<bean id="TransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="SessionFactory"/>
</property>
</bean>
<bean id="WorkerDAO" class="hibernateDaoImpl.WorkerDAOImpl">
<property name="sessionFactory">
<ref bean="SessionFactory"/>
</property>
</bean>
<bean id="WorkerDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="TransactionManager"/>
</property>
<property name="proxyInterfaces">
<list>
<value>hibernateDaoInterface.WorkerDAO</value>
</list>
</property>
<property name="target">
<ref bean="WorkerDAO"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
业务层
<bean id="WorkerLoginCheck" class="serviceImpl.WorkerLoginCheckImpl">
<property name="workerDAO">
<ref bean="WorkerDAOProxy"/>
</property>
</bean>
DAO代码:
public class DAOImpl extends HibernateDaoSupport implements DAO {
public boolean insertOne(Object entity) {
try {
getHibernateTemplate().save(entity);
return true;
} catch (DataAccessException e) {
e.printStackTrace();
return false;
}
}
<bean id="SessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" singleton="true">
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
<prop key="hibernate.proxool.xml">Proxool.xml</prop>
<prop key="hibernate.proxool.pool_alias">DBPool</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>hibernatePojo/Worker.hbm.xml</value>
</list>
</property>
</bean>
<bean id="TransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="SessionFactory"/>
</property>
</bean>
<bean id="WorkerDAO" class="hibernateDaoImpl.WorkerDAOImpl">
<property name="sessionFactory">
<ref bean="SessionFactory"/>
</property>
</bean>
<bean id="WorkerDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="TransactionManager"/>
</property>
<property name="proxyInterfaces">
<list>
<value>hibernateDaoInterface.WorkerDAO</value>
</list>
</property>
<property name="target">
<ref bean="WorkerDAO"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
业务层
<bean id="WorkerLoginCheck" class="serviceImpl.WorkerLoginCheckImpl">
<property name="workerDAO">
<ref bean="WorkerDAOProxy"/>
</property>
</bean>
DAO代码:
public class DAOImpl extends HibernateDaoSupport implements DAO {
public boolean insertOne(Object entity) {
try {
getHibernateTemplate().save(entity);
return true;
} catch (DataAccessException e) {
e.printStackTrace();
return false;
}
}