我正在使用Grails 2.4.5。
我将项目连接到oracle 11g。
在数据源中,我添加:
dataSource {
pooled = true
dialect = org.hibernate.dialect.Oracle10gDialect
driverClassName = 'oracle.jdbc.OracleDriver'
username = 'grails' // YOUR USERNAME AND PASS
password = 'grails'
url = 'jdbc:oracle:thin:localhost:1521:orcl'
dbCreate = 'update'
}
然后连接,当我创建新域时,将在db中创建新表。
但是,当我添加新的:
new Book(name:'The Strain').save(flush:true)
然后出现错误:
2015-07-29 17:10:30,036 [Thread-10] ERROR plugins.AbstractGrailsPluginManager - Plugin [controllers:2.4.5] could not reload changes to file [C:\Users\Thuc Tran\IdeaProjects\EmailTutorial\grails-app\controllers\emailtutorial\PlaceController.groovy]: Cannot invoke method getPropertyValue() on null object
Message: Cannot invoke method getPropertyValue() on null object
Line | Method
->> 120 | configureScaffoldingController in ScaffoldingGrailsPlugin
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ 105 | doCall in ScaffoldingGrailsPlugin$_closure3
任何解决方案将不胜感激。谢谢。
最佳答案
我解决了这个问题。我将解决方案发布给需要的人。
在oracle上,根据我的情况创建序列eg: BOOK_SEQ
。确保在oracle上,当您添加新记录时,id将自动递增。
然后在域类static mapping
上添加:
static mapping = {
id generator:'sequence', params:[sequence:'BOOKS_SEQ']
}
就是这样。
如果回答不清楚,请随时回答。
谢谢。
关于grails - Grails Oracle数据库无法添加新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31697768/