grails - Grails Oracle数据库无法添加新

标签 grails groovy oracle11g

我正在使用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/

相关文章:

grails - grails-如何在数据库中保存ArrayList

unit-testing - Grails 2.2.1中模拟公式派生的字段

hibernate - Grails 使用原生查询、Hibernate addEntity 和获取 map

vim - 我可以修复 Vim 中的 Groovy 缩进吗?

grails - NetBeans中的Grails应用程序创建错误

oracle - 选择整个分区使用索引 - 为什么?

grails - 找不到Grails 1.3.7插件

Grails - 无需 SortedSet 或 Comparable 模型即可对列表输出进行排序?

oracle - 如何确定Oracle包中子程序的类型

linux - runInstaller 权限被拒绝