• spring data mongodb 配置遇到的几个问题


    一. mongodb 2.2版本以上的配置

    spring.data.mongodb.uri = mongodb://newlook:newlook@192.168.0.109:27017/admin

      2.2及以下版本的配置

      #spring.data.mongodb.host = 192.168.0.109
      #spring.data.mongodb.username = newlook
      #spring.data.mongodb.password = newlook
      #spring.data.mongodb.defaultDB = admin
      #spring.data.mongodb.port = 27017

    二. Configuration 

    @Bean
    PlatformTransactionManager platformTransactionManager() {
    return new org.springframework.integration.transaction.PseudoTransactionManager();
    }

    <dependency>
    <groupId>org.springframework.integration</groupId>
    <artifactId>spring-integration-core</artifactId>
    </dependency>

    开始注入了其他的类型的TransactionManager,导致maven中自动引入了jpa相关的依赖,报错如下:

    Caused by: java.lang.IllegalStateException: Cannot load driver class: mongodb.jdbc.MongoDriver

    原因:

    You seem to be trying to mix JPA, which is primarily intended for relational datastores, with MongoDB, which is an "unrelated" document store. Drop the dependency on spring-boot-starter-data-jpa (you simply don't need it) and the spring.datasource.driver-class-name (you should use MongoDB natively, not via a JDBC bridge).

    三.org.springframework.dao.OptimisticLockingFailureException: Optimistic lock exception on saving entity

    原因:版本控制的类型须为包装类型, 

    @Version
    private int version;

    改为:

    @Version
    private Integer version;

    四.数据保存时候id总是empty

    原因:ui中id提交时为“”,

    <input th:field="*{id}" type="hidden"/>

    改为:

    <input th:field="*{id}" type="hidden" th:disabled="*{id==null}"/>

    这样id提交后为null,可自动生成id

    相关文档

    http://docs.spring.io/spring-data/data-mongo/docs/1.9.2.RELEASE/reference/html/#query-by-example

    https://docs.mongodb.com/manual/reference/command/

    http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#a-menu-for-our-home-page

  • 相关阅读:
    快乐前端-图片预加载
    浅谈canvas绘画王者荣耀--雷达图
    浅谈CSS3动画的凌波微步--steps()
    车大棒浅谈jQuery源码(二)
    车大棒浅谈jQuery源码(一)
    车大棒浅谈for循环+canvas实现黑客帝国矩形阵
    浅谈JavaScript 函数作用域当中的“提升”现象
    清除浮动塌陷的4种经典套路
    可以看电影的微信公众号
    Mac安装protobuf编译Java
  • 原文地址:https://www.cnblogs.com/ly-radiata/p/5881472.html
Copyright © 2020-2023  润新知