spring+hibernate 不能保存数据
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" singleton="true">
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<!--<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
-->
<prop key="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</prop>
<prop key="hibernate.proxool.xml">Proxool.xml</prop>
<prop key="hibernate.proxool.pool_alias">DBPool</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com\sth\bean\Test.hbm.xml</value>
</list>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="mySessionFactory"/>
</property>
</bean>
<bean id="testServiceProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="target">
<ref local="testDAO" />
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="insert">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="testDAO" class="com.sth.service.TestService">
<property name="sessionFactory">
<ref local="mySessionFactory"/>
</property>
</bean>
<bean id="test" class="com.sth.service.TestDAO">
</bean>
</beans>
Proxool.xml
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>DBPool</alias>
<driver-url>jdbc:jtds:sqlserver://localhost:1433;DatabaseName=pubs;username=sa;password=sa;</driver-url>
<driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="sa"/>
<property name="password" value="sa"/>
</driver-properties>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<maximum-new-connections>20</maximum-new-connections>
<prototype-count>5</prototype-count>
<maximum-connection-count>1000</maximum-connection-count>
<minimum-connection-count>100</minimum-connection-count>
</proxool>
</something-else-entirely>
TestDAO.java
import java.util.List;
import com.sth.bean.Test;
public interface TestDAO {
public abstract void insert(Test t) ;
public abstract void update(Test t) ;
public abstract void delete(Test t) ;
public abstract List queryAll();
public abstract Test queryDataById(String title);
}
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.sth.bean.Test;
public class TestService extends HibernateDaoSupport implements TestDAO {
private String HQL = "from Test where title = ?" ;
public TestService()
{
}
public void insert(Test t){
this.getHibernateTemplate().save(t) ;
}
public void update(Test t){
this.getHibernateTemplate().update(t) ;
}
public void delete(Test t){
this.getHibernateTemplate().delete(t) ;
}
public List queryAll(){
List testAllList ;
testAllList = this.getHibernateTemplate().find("from Test") ;
return testAllList ;
}
public Test queryDataById(String title){
List testList ;
if(this.getHibernateTemplate().find(HQL,title)== null ){
testList = new ArrayList() ;
} else {
testList = this.getHibernateTemplate().find(HQL, title) ;
}
return (Test)testList.get(0) ;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Resource rs = new ClassPathResource("applicationContext.xml") ;
BeanFactory factory = new XmlBeanFactory(rs) ;
TestService ts=(TestService)factory.getBean("testDAO") ;
Test t = new Test();
t.setTitle("tibet") ;
t.setContent("tibet") ;
t.setPubdate("20080719");
ts.insert(t) ;
}
}