Java Spring 4.3.0.释放和#x2B;Hibernate 5.2.0.Final-错误。。根本原因为org.hibernate.PersistentObjectException

Java Spring 4.3.0.释放和#x2B;Hibernate 5.2.0.Final-错误。。根本原因为org.hibernate.PersistentObjectException,java,spring,hibernate,hibernate-mapping,Java,Spring,Hibernate,Hibernate Mapping,更新: 该错误已通过注释中的解决方案修复 我在尝试向“电子商务”表添加新行时出错: 当我在主控制器中调用“this.ecommerceService.add(ecommerceententity);”时,就会发生这种情况 错误日志: SEVERE: Servlet.service() for servlet [searcher] in context with path [/Searcher] threw exception [Request processing failed; nested

更新: 该错误已通过注释中的解决方案修复

我在尝试向“电子商务”表添加新行时出错: 当我在主控制器中调用“this.ecommerceService.add(ecommerceententity);”时,就会发生这种情况

错误日志:

SEVERE: Servlet.service() for servlet [searcher] in context with path [/Searcher] threw exception [Request processing failed; nested exception is javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.searcher.entity.EcommerceEntity] with root cause
org.hibernate.PersistentObjectException: detached entity passed to persist: com.searcher.entity.EcommerceEntity
    at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:124)
    at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:58)
    at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:756)
    at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:736)
    at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:741)
    at com.searcher.dao.EcommerceImp.add(EcommerceImp.java:29)
    at com.searcher.service.EcommerceServiceImp.add(EcommerceServiceImp.java:26)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
    at com.sun.proxy.$Proxy33.add(Unknown Source)
    at com.searcher.controller.MainSearcherController.helloWorld(MainSearcherController.java:46)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
电子商务实体:

package com.searcher.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="ecommerce")
public class EcommerceEntity {

    @Id
    @Column(name="Id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int Id;

    @Column
    private String Name;

    @Column
    private String Path;

    public int getId() {
        return Id;
    }

    public void setId(int id) {
        this.Id = id;
    }

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        this.Name = name;
    }

    public String getPath() {
        return Path;
    }

    public void setPath(String path) {
        this.Path = path;
    }

    @Override
    public String toString(){
        return "Id = " + Id + ", Name = " + Name + ", Path = " + Path;
    }

}
电子商务宣言:

package com.searcher.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.searcher.entity.EcommerceEntity;

@Repository
public interface EcommerceDAO {

    public void add(EcommerceEntity eCommerce);
    public void edit(EcommerceEntity eCommerce);
    public void deleteById(int id);
    public EcommerceEntity getEcommerceById(int id);
    public List<EcommerceEntity> getAllEcommerce();
}
package com.searcher.dao;
导入java.util.List;
导入org.springframework.stereotype.Repository;
导入com.searcher.entity.EcommerceEntity;
@存储库
公共界面电子商务{
公共无效添加(电子商务实体电子商务);
公共无效编辑(电子商务实体电子商务);
public void deleteById(int-id);
公共电子商务实体getEcommerceById(intid);
公共列表getAllEcommerce();
}
电子商务计划:

package com.searcher.dao;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.searcher.entity.EcommerceEntity;

@Repository
public class EcommerceImp implements EcommerceDAO{

    private static final Logger logger = LoggerFactory.getLogger(UserDAO.class);

    @Autowired
    private SessionFactory sessionFactory;

    public void setSessionFactory(SessionFactory sf){
        this.sessionFactory = sf;
    }

    @Override
    public void add(EcommerceEntity eCommerce) {
        Session ss = this.sessionFactory.getCurrentSession();
        ss.persist(eCommerce);
        logger.info("EcommerceEntity deleted successfully, EcommerceEntity Details="+eCommerce);
    }

    @Override
    public void edit(EcommerceEntity eCommerce) {
        this.sessionFactory.getCurrentSession().update(eCommerce);
        logger.info("EcommerceEntity updated successfully, EcommerceEntity Details="+eCommerce);
    }

    @Override
    public void deleteById(int id) {
        EcommerceEntity ecommerceToDelete = getEcommerceById(id);
        this.sessionFactory.getCurrentSession().delete(ecommerceToDelete);
        logger.info("EcommerceEntity deleted successfully, EcommerceEntity Details="+ecommerceToDelete);
    }

    @Override
    public EcommerceEntity getEcommerceById(int id) {
        EcommerceEntity ecommerceToReturn = (EcommerceEntity)this.sessionFactory.getCurrentSession().get(EcommerceEntity.class, id);
        logger.info("EcommerceEntity founded successfully, EcommerceEntity Details="+ecommerceToReturn);
        return ecommerceToReturn;
    }

    @SuppressWarnings("unchecked")
    @Override
    public List<EcommerceEntity> getAllEcommerce() {
        @SuppressWarnings("deprecation")
        List<EcommerceEntity> ecommerceList = this.sessionFactory.getCurrentSession().createQuery("from ecommerce").list();
        logger.info("List<EcommerceEntity> upload successfully, List<EcommerceEntity> Details="+ecommerceList.toString());
        return ecommerceList;
    }

}
package com.searcher.dao;
导入java.util.List;
导入org.hibernate.Session;
导入org.hibernate.SessionFactory;
导入org.slf4j.Logger;
导入org.slf4j.LoggerFactory;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.stereotype.Repository;
导入com.searcher.entity.EcommerceEntity;
@存储库
公共类电子商务MP实现电子商务DAO{
私有静态最终记录器Logger=LoggerFactory.getLogger(UserDAO.class);
@自动连线
私人会话工厂会话工厂;
公共无效设置会话工厂(会话工厂sf){
this.sessionFactory=sf;
}
@凌驾
公共无效添加(电子商务实体电子商务){
Session ss=this.sessionFactory.getCurrentSession();
ss.persist(电子商务);
logger.info(“电子商务实体已成功删除,电子商务实体详细信息=“+电子商务”);
}
@凌驾
公共作废编辑(电子商务实体电子商务){
this.sessionFactory.getCurrentSession()更新(电子商务);
logger.info(“电子商务实体更新成功,电子商务实体详细信息=“+电子商务”);
}
@凌驾
公共void deleteById(int-id){
电子商务实体ecommerceToDelete=getEcommerceById(id);
this.sessionFactory.getCurrentSession().delete(电子商务文档删除);
logger.info(“已成功删除电子商务实体,电子商务实体详细信息=“+电子商务删除”);
}
@凌驾
公共电子商务实体getEcommerceById(int id){
EcommerceEntity ecommerceToReturn=(EcommerceEntity)this.sessionFactory.getCurrentSession().get(EcommerceEntity.class,id);
logger.info(“电子商务实体成功成立,电子商务实体详细信息=“+ecommerceToReturn”);
返回电子商务返回;
}
@抑制警告(“未选中”)
@凌驾
公共列表getAllEcommerce(){
@抑制警告(“弃用”)
List ecommerceList=this.sessionFactory.getCurrentSession().createQuery(“来自电子商务”).List();
logger.info(“列表上载成功,列表详细信息=“+ecommerceList.toString());
返回电子商务;
}
}
电子商务服务:

package com.searcher.service;

import java.util.List;

import com.searcher.entity.EcommerceEntity;

public interface EcommerceService {
    public void add(EcommerceEntity eCommerce);
    public void edit(EcommerceEntity eCommerce);
    public void deleteById(int id);
    public EcommerceEntity getEcommerceById(int id);
    public List<EcommerceEntity> getAllEcommerce();
}
package com.searcher.service;
导入java.util.List;
导入com.searcher.entity.EcommerceEntity;
公共接口电子商务服务{
公共无效添加(电子商务实体电子商务);
公共无效编辑(电子商务实体电子商务);
public void deleteById(int-id);
公共电子商务实体getEcommerceById(intid);
公共列表getAllEcommerce();
}
电子商务服务计划:

package com.searcher.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.searcher.dao.EcommerceDAO;
import com.searcher.entity.EcommerceEntity;

@Service("ecommerceService")
public class EcommerceServiceImp implements EcommerceService{

    @Autowired
    private EcommerceDAO ecommerceDAO;

    public void setEcommerceDAO(EcommerceDAO ecommeceDAO){
        this.ecommerceDAO = ecommeceDAO;
    }

    @Override
    @Transactional
    public void add(EcommerceEntity eCommerce) {

        this.ecommerceDAO.add(eCommerce);
    }

    public EcommerceDAO getEcommerceDAO() {
        return ecommerceDAO;
    }

    @Override
    @Transactional
    public void edit(EcommerceEntity eCommerce) {
        this.ecommerceDAO.edit(eCommerce);
    }

    @Override
    @Transactional
    public void deleteById(int id) {
        this.ecommerceDAO.deleteById(id);
    }

    @Override
    @Transactional
    public EcommerceEntity getEcommerceById(int id) {
        return this.ecommerceDAO.getEcommerceById(id);
    }

    @Override
    @Transactional
    public List<EcommerceEntity> getAllEcommerce() {
        return (List<EcommerceEntity>)this.ecommerceDAO.getAllEcommerce();
    }
}
package com.searcher.service;
导入java.util.List;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.stereotype.Service;
导入org.springframework.transaction.annotation.Transactional;
导入com.searcher.dao.EcommerceDAO;
导入com.searcher.entity.EcommerceEntity;
@服务(“电子商务服务”)
公共类电子商务服务imp实现电子商务服务{
@自动连线
私人电子商务;
公共无效设置电子商务DAO(电子商务DAO ecommeceDAO){
this.ecommerceDAO=ecommerceDAO;
}
@凌驾
@交易的
公共无效添加(电子商务实体电子商务){
本.ecommerceao.add(电子商务);
}
公共电子商务dao getEcommerceDAO(){
返回电子商务DAO;
}
@凌驾
@交易的
公共作废编辑(电子商务实体电子商务){
这个.ecommerceao.edit(电子商务);
}
@凌驾
@交易的
公共void deleteById(int-id){
this.ecommerceao.deleteById(id);
}
@凌驾
@交易的
公共电子商务实体getEcommerceById(int id){
返回此.ecommerceao.getEcommerceById(id);
}
@凌驾
@交易的
公共列表getAllEcommerce(){
返回(列出)this.ecommerceDAO.getAllEcommerce();
}
}
主控制器:

package com.searcher.controller;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.searcher.entity.EcommerceEntity;
import com.searcher.service.EcommerceService;
import com.searcher.service.EcommerceServiceImp;

@Controller
public class MainSearcherController {

    @Autowired
    private EcommerceService ecommerceService;


    @RequestMapping("/welcome")
    public ModelAndView helloWorld() {

        String message = "<br><div style='text-align:center;'>"
                + "<h3>********** Hello World, Spring MVC Tutorial</h3>This message is coming from MainSearcherController.java **********</div><br><br>";
        String strEndList = "";

        try {
            //ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("searcher-servlet.xml");
            //EcommerceDAO ecommerceDAO = context.getBean(EcommerceDAO.class);

            //EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("hibernate5AnnotatedSessionFactory");
            //EntityManager entityManager = entityManagerFactory.createEntityManager();


            // Creating ImageService object
            EcommerceEntity ecommerceEntity = new EcommerceEntity();

            ecommerceEntity.setId(4564564);
            ecommerceEntity.setName("Ebay");
            ecommerceEntity.setPath("www.ebay.com");

            this.ecommerceService.add(ecommerceEntity);


            //strEndList = "<br/><br/>" + ecommerceService.getAllEcommerce().toString() + "<br/><br/>";

        } catch (Exception e) {
            throw e;
        }


        return new ModelAndView("welcome", "message", message + strEndList);
    }

}
ecommerceEntity.setId(4564564);
package com.searcher.controller;
导入javax.persistence.EntityManager;
导入javax.persistence.EntityManagerFactory;
导入javax.persistence.persistence;
导入org.hibernate.SessionFactory;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.beans.factory.annotation.Qualifier;
导入org.springframework.stereotype.Controller;
导入org.springframework.web.bind.annotation.RequestMapping;
导入org.springframework.web.servlet.ModelAndView;
导入com.searcher.entity.EcommerceEntity;
导入com.searcher.service.EcommerceService;
导入com.searcher.service.EcommerceServiceImp;
@控制器
公共类主搜索控制器{
@自动连线
私人电子商务服务;
@请求映射(“/welcome”)
公共模型和视图helloWorld(){
字符串消息=“
” +“*********你好,世界,Spring MVC教程此消息来自MainSearcherController.java************

”; 弦强度列表=”; 试一试{ //ClassPathXmlApplicationContext上下文=新的ClassPathXmlApplicationContext(“searcher servlet.xml”); //EcommerceDAO EcommerceDAO=context.getBean(EcommerceDAO.cla
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>Searcher</groupId>
    <artifactId>Searcher</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.0.RELEASE</version>
            <exclusions>
            <!-- Exclude Commons Logging in favor of SLF4j -->
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                 </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.3.0.RELEASE</version>
        </dependency>


        <!-- Hibernate -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.1.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.2.0.Final</version>
        </dependency>


        <!-- Apache Commons DBCP -->
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>

        <!-- Spring ORM -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>4.3.0.RELEASE</version>
        </dependency>

        <!-- AspectJ -->
        <dependency>
            <groupId>aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.5.4</version>
        </dependency>

        <!-- Logging -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.21</version>
        </dependency>
            <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>1.7.21</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.21</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.mail</groupId>
                    <artifactId>mail</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.jms</groupId>
                    <artifactId>jms</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jdmk</groupId>
                    <artifactId>jmxtools</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jmx</groupId>
                    <artifactId>jmxri</artifactId>
                </exclusion>
            </exclusions>
            <scope>runtime</scope>
        </dependency>

        <!-- @Inject -->
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>

        <!-- Servlet -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <!-- Test -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

    <dependency>
        <groupId>javax.transaction</groupId>
        <artifactId>jta</artifactId>
        <version>1.1</version>
    </dependency>



    </dependencies>

    <!-- Build -->
    <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
        <plugin>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.9</version>
            <configuration>
                <additionalProjectnatures>
                    <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
                </additionalProjectnatures>
                <additionalBuildcommands>
                    <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
                </additionalBuildcommands>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <compilerArgument>-Xlint:all</compilerArgument>
                <showWarnings>true</showWarnings>
                <showDeprecation>true</showDeprecation>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <configuration>
                <mainClass>org.test.int1.Main</mainClass>
            </configuration>
        </plugin>

    </plugins>
    </build>
</project>
@Override
public void edit(EcommerceEntity eCommerce) {
    this.sessionFactory.getCurrentSession().merge(eCommerce);
    logger.info("EcommerceEntity updated successfully, EcommerceEntity Details="+eCommerce);
}
@Autowired
private EcommerceService ecommerceService;
ecommerceEntity.setId(4564564);