1. 程式人生 > >Gorm for mongo在Spring boot中的使用

Gorm for mongo在Spring boot中的使用

Spring boot 中使用Gorm for Mongodb

在之前的Grails專案中使用Grails的ORM發現很好用,目前可以在spring boot中使用這個外掛了.
在build.gradle中

	compile "org.mongodb:mongodb-driver:3.4.2"
	compile("org.grails:gorm-mongodb-spring-boot:6.1.2.RELEASE")
	compile "org.grails:grails-datastore-gorm-mongodb:6.1.2.RELEASE"
	compile 'org.codehaus.groovy:groovy-all:2.4.10'

然後在spring boot 的啟動類中

@SpringBootApplication
@ComponentScan		//這裡要加才能將Entity全部找出來
class MqApplication {

	static void main(String[] args) {
		SpringApplication.run MqApplication, args
	}
}

對於我們需要進行操作的Domain,可以進行如下的配置


import grails.gorm.annotation.Entity

@Entity
class GeoPoint {

    Double lat
    Double lon

    static constraints = {
        lat nullable: true
        lon nullable: true
    }

    static mapping = {
        // Used to disable optimistic locking
        version false
    }
}

這樣就能在其他的地方自如的使用GORM了.

在實際使用中發現了一個bug(自己的問題)
由於在類中引入上個GeoPoint,但是GeoPoint自身沒有填寫@Entity,導致在更新的時候,不能更新這個欄位,也就是說如果要保持一些embed的類也能保持更新,還是要在被包含的類中新增@Entity標識.

謹以此部落格,記錄犯下的錯誤,避免在以後的工作中再次遇到.