add 方法可以正常运行并且不会报错 但是结果不能添加到数据库中 大神们帮我看下什么问题!!
applicationContent.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context 
       http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop 
       http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx 
       http://www.springframework.org/schema/tx/spring-tx-3.0.xsd" default-autowire="byName" >
<!-- 将隐式查找服务并注册到SPRING容器中 -->
<context:component-scan base-package="com.lll" />
<!-- 将隐式地向Spring容器注册AutowiredAnnotationBeanPostProcessor、 CommonAnnotationBeanPostProcessor、
 PersistenceAnnotationBeanPostProcessor以及 RequiredAnnotationBeanPostProcessor这4个BeanPostProcessor。 -->
<context:annotation-config />
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" >
<!-- oracle -->
<!--<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />-->
<!--<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:orcl10g"/>-->
<!-- SQLSERVER -->
<property name="driverClass" value="net.sourceforge.jtds.jdbc.Driver" />
        <property name="jdbcUrl" value="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=myweb"/>
        <!-- MYSQL -->
        <!--<property name="driverClass" value="com.mysql.jdbc.Driver" />-->
        <!--<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/DBName?useUnicode=true&amp;characterEncoding=utf-8"/>-->
<!-- 用户名 -->
<property name="lll" value="2973314"/>
<!-- 密码 -->
<property name="password" value="hightern" />
<!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数 -->
<property name="acquireIncrement" value="10" />
<!-- 每120秒检查所有连接池中的空闲连接 -->
<property name="idleConnectionTestPeriod" value="120" />
<!-- 最小连接池数量 -->
<property name="minPoolSize" value="30" /> 
<!-- 初始连接池数量 -->
<property name="initialPoolSize" value="50" />
<!-- 最大连接数量 -->
<property name="maxPoolSize" value="5000" />
</bean>
<!-- 实体管理器工厂 -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="persistenceUnitName" value="myweb" />
<property name="loadTimeWeaver">
<bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver" />
</property>
</bean>
<!-- 事务管理 -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
</beans> persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="myweb" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<!--property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" /-->
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
<!--property name="hibernate.dialect" value="org.hibernate.dialect.DB2Dialect" /-->
<!--property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /-->
<!--property name="hibernate.dialect" value="org.hibernate.dialect.SybaseDialect" /-->
<!--property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" /-->
<!--property name="hibernate.dialect" value="org.hibernate.dialect.InformixDialect" /-->
<!--property name="hibernate.dialect" value="org.hibernate.dialect.ProgressDialect" /-->
<!--property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" /-->
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider" />
            <property name="hibernate.cache.use_query_cache" value="true" />   
            <property name="hibernate.cache.use_second_level_cache" value="true" />   
            <property name="hibernate.cache.provider_configuration_file_resource_path" value="ehcache.xml" />
            <property name="hibernate.jdbc.fetch_size" value="50" />
            <property name="hibernate.jdbc.batch_size" value="30" />
<property name="hibernate.max_fetch_depth" value="3" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.default_entity_mode" value="pojo" />
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>
</persistence>
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"><struts>
    <constant name="struts.action.extension" value="htm" /><!-- 将所有Action的后缀改为HTM -->
    <constant name="struts.objectFactory" value="spring" /><!-- 引入Spring -->
    <constant name="struts.objectFactory.spring.autoWire" value="name" /><!-- 以名字进行匹配 -->
    <constant name="struts.configuration.xml.reload" value="true" /><!-- 当配置文件改变时,自动读取配置文件 -->
    <constant name="struts.objectFactory.spring.useClassCache" value="true" /><!-- 类缓存默认关闭,开发期间这样处理 -->
    <package name="MyWeb" extends="struts-default">
       <action name="*_*" class="{1}Action" method="{2}">
   <result name="success">/login.jsp</result>
       </action>
    </package>
</struts>actionpackage com.lll.common.action;import javax.annotation.Resource;import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;import com.lll.common.model.Login;
import com.lll.common.service.LoginService;
import com.opensymphony.xwork2.ActionSupport;@Controller("loginAction")
@Scope("prototype")
public class LoginAction  extends ActionSupport{ private static final long serialVersionUID = 1L;

@Resource(name="loginService")
private LoginService loginService;
private Login login; public String add() throws Exception{
login.setPassword("lll");
login.setUserName("www");
loginService.save(login);
return "success";
}
public Login getLogin() {
return login;
}
public void setLogin(Login login) {
this.login = login;
}}model
package com.lll.common.model;import java.io.Serializable;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;@Entity(name="login")
@Table(name="COM_Login")
public class Login implements Serializable{
private static final long serialVersionUID = 1L;
private String userName;
private String password;
private Long id;
 @Id
 @GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

}

server

package com.lll.common.service;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;import com.lll.common.dao.LoginDao;
import com.lll.common.model.Login;
@Service("loginService")
public class LoginService {
private final LoginDao loginDao;


@Autowired(required=false)
private LoginService(@Qualifier("loginDao")LoginDao loginDao){
this.loginDao=loginDao;
}


public void save(Login login){
loginDao.Save(login);
}

}dao
package com.lll.common.dao;import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import com.lll.common.model.Login;
@Repository("loginDao")
public class LoginDao {
@PersistenceContext
private EntityManager entityManager;

public LoginDao(){

}

public void Save(Login login)throws RuntimeException {
entityManager.persist(login);
//entityManager.getTransaction().begin();
//entityManager.createNativeQuery("delete from COM_Login ").executeUpdate();
//entityManager.getTransaction().commit();
}

}