春季+冬眠

如何解决春季+冬眠

我在Centos上与VM一起完成了一个项目。我正在尝试将其移植到Windows10。它除了更新数据库外还可以工作。我将对设置和类进行布局,您能告诉我如此不同的工作可能是什么问题吗?到基础的连接是相同的:在所有情况下,我都连接到VM上的基础。

在Windows中调用合并的错误:

javax.persistence.TransactionRequiredException:没有具有实际事务的EntityManager可用于当前线程-无法可靠地处理“合并”调用 org.springframework.orm.jpa.SharedEntityManagerCreator $ SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:282) com.sun.proxy。$ Proxy243.merge(未知来源) com.noteanalyzer.dao.GenericDaoImpl.update(GenericDaoImpl.java:59) com.noteanalyzer.mvc.service.impl.UserServiceImpl.updateUnsuccessfullAttempt(UserServiceImpl.java:380) com.noteanalyzer.security.security.auth.ajax.AjaxAuthenticationProvider.authenticate(AjaxAuthenticationProvider.java:58) org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:174) org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:199) org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter $ AuthenticationManagerDelegator.authenticate(WebSecurityConfigurerAdapter.java:469) com.noteanalyzer.security.security.auth.ajax.AjaxLoginProcessingFilter.attemptAuthentication(AjaxLoginProcessingFilter.java:61) org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331) org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:121) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331) org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331) org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331) org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331) org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214) org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

很抱歉,但是我找不到类似的答案-因为该项目在Linux上正常运行,但仅在Windows下会出现这种错误(

Apache Tomcat / 8.5.57ВерсияJVM 1.8.0_151-b12

GenericDao.java

@Transactional
public interface GenericDao {

    <E extends AbstractEntity> E create(final E model);
    
    <E extends AbstractEntity> E update(final E model);
    
    <E extends AbstractEntity> void delete(final E model);
    
    <E extends AbstractEntity> E getById(final Class<E> modelClass,final Serializable id);
    
    <E extends AbstractEntity> void deleteById(final Class<E> modelClass,final Serializable id);
    
    <E extends AbstractEntity> List<E>  getAll(final Class<E> model);
    <E extends AbstractEntity> List<E> getResultByNativeQuery(final String queryName,Map<String,Object> parameters,String name);
    List<Object> getResultByNativeQuery(final String queryName,Object> parameters);
    <E extends AbstractEntity> List<E> getResultByNativeQuery(final String queryName,Class<E> objectType);
    public <E extends AbstractEntity> List < Map < String,Object >> getNativeQueryResultInMap(String queryName,Class<E> objectType);
    <E extends AbstractEntity> void executeNativeQuery(final String queryName,Object> parameters);
    /**
     * Update using named query
     * @param queryName
     * @param parameters
     * @return
     */
    int updateByNamedQuery(String queryName,Object> parameters);

    <E  extends AbstractEntity> List<E> getResultByNamedQuery(Class<E> objectType,String queryName,Object> parameters);
    public CriteriaQuery createCriteria(Class<?> clazz);
    public <E extends AbstractEntity> Map<String,Object> callNamedStoredProcedure(String callerName,Object> outputParameters);
    
    void executeUpdate(final String queryName,Object> parameters);
    
}

GenericDaoImpl.java

@Repository("genericDao")
@Transactional
public class GenericDaoImpl implements GenericDao {

    
    @Autowired
    protected SessionFactory sessionFactory;
    
    
    
    @PersistenceContext
    private EntityManager entityManager;
    
    public EntityManager getEntityManager() {
        return entityManager;
    }

    public void setEntityManager(EntityManager entityManager) {
        this.entityManager = entityManager;
    }

    @Override
    
    public <E extends AbstractEntity> E create(E model) {
        entityManager.persist(model);
        return model;
    }

    @Override
    
    public <E extends AbstractEntity> E update(E model) {
        model = entityManager.merge(model);
        entityManager.flush();
        return model;
    }

    @Override
    
    public <E extends AbstractEntity> void delete(E model) {
         entityManager.remove(model);

    }

    @Override
    
    public <E extends AbstractEntity> E getById(Class<E> modelClass,Serializable id) {
            return entityManager.find(modelClass,id);
    }

    @Override
    
    public <E extends AbstractEntity> void deleteById(Class<E> modelClass,Serializable id) {
        final E entity = getById(modelClass,id);
        entityManager.remove(entity);

    }

    @Override
    
    public <E extends AbstractEntity> List<E> getAll(Class<E> model) {
        CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
        CriteriaQuery<E> criteriaQuery = criteriaBuilder.createQuery(model);
        criteriaQuery.from(model);
        return entityManager.createQuery(criteriaQuery).getResultList();
    }
    
    public <E extends AbstractEntity> Map<String,Object> outputParameters){
        StoredProcedureQuery storedProcedure = entityManager.createNamedStoredProcedureQuery(callerName);
        if(parameters != null) {
            for(final Entry<String,Object> parameter : parameters.entrySet()) {
                storedProcedure.setParameter(parameter.getKey(),parameter.getValue());
            }
        }
        storedProcedure.execute();
        if(outputParameters != null) {
            for(final Entry<String,Object> parameter : outputParameters.entrySet()) {
                outputParameters.put(parameter.getKey(),storedProcedure.getOutputParameterValue(parameter.getKey()));
            }
        }
        return  outputParameters;
    }
    
    @Override
    
    public int updateByNamedQuery(String queryName,Object> parameters) {
        final Query query = entityManager.createNamedQuery(queryName); 
        if(parameters != null) {
            for(final Entry<String,Object> parameter : parameters.entrySet()) {
                query.setParameter(parameter.getKey(),parameter.getValue());
            }
        }
        return query.executeUpdate();
    }

    
    
    @Override
    
    public <E extends AbstractEntity> List<E> getResultByNamedQuery(final Class<E> objectType,Object> parameters) {
        final TypedQuery<E> query = entityManager.createNamedQuery(queryName,objectType); 
        if(parameters != null) {
            for(final Entry<String,parameter.getValue());
            }
        }
        /**
         * Found shared references to a collection org.hibernate.HibernateException

         */
        entityManager.clear();
        return query.getResultList();
    }
    
    public CriteriaQuery<?> createCriteria(Class<?> clazz){
        return sessionFactory.getCurrentSession().getCriteriaBuilder().createQuery(clazz);
    }

    @SuppressWarnings("unchecked")
    @Override
    
    public <E extends AbstractEntity> List < Map < String,final Class<E> objectType) {
        final Query query = entityManager.createNativeQuery(queryName,objectType);
        NativeQueryImpl nativeQuery = (NativeQueryImpl) query;
        nativeQuery.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE);
        List < Map < String,Object >> result = query.getResultList();
        for (Map map: result) {
        }
        return result;
    }


    @SuppressWarnings("unchecked")
    @Override
    
    public  List<Object> getResultByNativeQuery(String queryName,Object> parameters) {
        final Query query  = entityManager.createNativeQuery(queryName);

        if(parameters != null) {
            for(final Entry<String,parameter.getValue());
            }
        }
        return query.getResultList();
        
    }
    @SuppressWarnings("unchecked")
    @Override
    
    public <E extends AbstractEntity> List<E> getResultByNativeQuery(String queryName,String name) {
        /**
         * At least when using Hibernate 4.x and 5.x because the JPA StoredProcedureQuery does not work for SQL FUNCTIONS.
         */
        final Query query  = entityManager.createNativeQuery(queryName,name);
        
        if(parameters != null) {
            for(final Entry<String,parameter.getValue());
            }
        }
        return query.getResultList();
    }
    
    @Override
    
    public <E extends AbstractEntity> void executeNativeQuery(String queryName,Object> parameters) {
        /**
         * At least when using Hibernate 4.x and 5.x because the JPA StoredProcedureQuery does not work for SQL FUNCTIONS.
         */
        final Query query  = entityManager.createNativeQuery(queryName);
        if(parameters != null) {
            for(final Entry<String,parameter.getValue());
            }
        }
        query.getSingleResult();
//      query.executeUpdate();
        
    }

    @SuppressWarnings("unchecked")
    @Override
    
    public <E extends AbstractEntity> List<E> getResultByNativeQuery(String queryName,Class<E> objectType) {
        /**
         * At least when using Hibernate 4.x and 5.x because the JPA StoredProcedureQuery does not work for SQL FUNCTIONS.
         */
        final Query query  = entityManager.createNativeQuery(queryName,objectType);
        if(parameters != null) {
            for(final Entry<String,parameter.getValue());
            }
        }
        return query.getResultList();
    }
    
    @SuppressWarnings("unchecked")
    
    public  void executeUpdate(String queryName,Object> parameters) {
        final Query query  = entityManager.createNativeQuery(queryName);
        if(parameters != null) {
            for(final Entry<String,parameter.getValue());
            }
        }
        int update = query.executeUpdate();
    }

}

HibernateConfiguration.java

@Configuration
@EnableTransactionManagement
@ComponentScan({ "com.noteanalyzer.dao" })
@PropertySource(value = { "classpath:application.properties" })
@PropertySource(value = "file:${CONF_DIR}/application-override.properties",ignoreResourceNotFound = true)
public class HibernateConfiguration {

    @Autowired
    private Environment environment;

    @Bean
    public LocalSessionFactoryBean sessionFactory() {
        LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
        sessionFactory.setDataSource(dataSource());
        sessionFactory.setPackagesToScan(new String[] { "com.noteanalyzer.entity" });
        sessionFactory.setHibernateProperties(hibernateProperties());
        return sessionFactory;
    }

    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName(environment.getRequiredProperty("database.driverClassName"));
        dataSource.setUrl(environment.getRequiredProperty("database.url"));
        dataSource.setUsername(environment.getRequiredProperty("database.username"));
        dataSource.setPassword(environment.getRequiredProperty("database.password"));
        return dataSource;
    }

    private Properties hibernateProperties() {
        Properties properties = new Properties();
        properties.put("hibernate.dialect",environment.getRequiredProperty("hibernate.dialect"));
        properties.put("hibernate.show_sql",environment.getRequiredProperty("hibernate.show_sql"));
        properties.put("hibernate.format_sql",environment.getRequiredProperty("hibernate.format_sql"));
        //properties.put("hibernate.hbm2ddl.auto",environment.getRequiredProperty("hibernate.hbm2ddl.auto"));
        properties.put("spring.datasource.testOnBorrow",environment.getRequiredProperty("spring.datasource.testOnBorrow"));
        properties.put("spring.datasource.validationQuery",environment.getRequiredProperty("spring.datasource.validationQuery"));





        return properties;
    }

    @Bean
    @Autowired
    public PlatformTransactionManager transactionManager(final EntityManagerFactory emf) {
        final JpaTransactionManager transactionManager = new JpaTransactionManager();
        transactionManager.setEntityManagerFactory(emf);
        return transactionManager;
    }

application.properties

database.driverClassName=com.mysql.jdbc.Driver
database.url=jdbc:mysql://192.168.1.11:3306/nt
database.username=root
database.password=qwerty

#spring database configuration
spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1

#Hibernate related properties
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=false
hibernate.format_sql=true

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-