我无法将任何数据插入到我的DbUser.groovy域类中。当Iam调用下面的方法时。在Grails中没有默认值异常
\t def insertDbuserDetails(Map Hmap){
\t \t try{
\t \t \t def emp = Employee.get(Hmap.get("empId"))
\t \t \t if(emp){
\t \t \t def Username = springSecurityService.getPrincipal().getUsername()
\t \t \t def row = DbUser.findByEmployee(emp)
\t \t \t if(!row){
\t \t \t def data = new DbUser(employee:emp,username:Hmap.get("userName"),password:Hmap.get("password"),client:Hmap.get("client"),create_id:Username,create_dt:new Date(),mod_id:null,mod_dt:null)
\t \t \t data.save(failOnError: true)
\t \t \t return data
\t \t \t }else{
\t \t \t return "exist"
\t \t \t }
\t \t }else{
\t \t return "invalid"
\t \t }
\t \t }
\t \t \t catch(Exception e){
\t \t \t println("Exception in getDbuserDetails() of DbuserService.groovy: "+e);
\t \t \t }
\t \t }
它给了我像
错误的错误| 2017年2月10日18:44:08307 [HTTP-BIO-8080-EXEC-4] ERROR spi.SqlExceptionHelper - 字段 '雇员' 不具有在getDbuserDetails)DbuserService.groovy的缺省值 的异常(:有机.springframework.dao.DataIntegrityViolationException:Hibernate操作:无法执行语句; SQL [n/a];字段'员工'没有默认值;嵌套异常是java.sql.SQLException:字段'员工'没有默认值
错误信息: 2017年2月10日18:44:08328 [HTTP-BIO-8080-EXEC-4] ERROR hibernate.AssertionFailure - HHH000099:断言故障发生(这可指示在休眠中的错误,但更可能是由于不安全使用):org.hibernate.AssertionFailure:com.domain.gcg.DbUser条目中的null id(发生异常后不刷新会话)
错误信息: 2017-02-10 18:44:08,469 [http-bio-8080-exec-4] ERROR errors.GrailsExceptionResolver - 处理请求时发生AssertionFailure:[POST]/UserManagement/dbuser/addDbuserDetails - 参数: 重新输入密码:pass123 客户端:TestClient的 密码:pass123 EMPID:SE357 empName:Abhilash Shajan 用户名:在com.domain.gcg.DbUser进入Abhi123 空ID(发生异常后不要冲洗会议)。堆栈跟踪如下: 消息:com.domain.gcg.DbUser进入空ID(发生异常后不要冲洗会议)
这里是我DbUser.groovy域类
class DbUser {
\t \t
\t Employee employee
\t String client
\t String username
\t String password
\t String create_id
\t Date create_dt
\t String mod_id
\t Date mod_dt
\t
\t static mapping = {
\t \t version true
\t \t dynamicUpdate true
\t \t password type: GormEncryptedStringType
employee column: '`employee`',generator: 'foreign', params: [ property: 'employee'], insertable: false, updateable: false
}
\t static constraints = {
\t \t mod_id(nullable: true)
\t \t mod_dt(nullable: true)
\t }
有人能帮助我吗?
这是和以前一样的问题。您是否尝试按照我的建议重新创建数据库? (只是删除所有表并重新运行Grails应用程序,让它重新创建表。 –
@MikelisBaltruks我删除了数据库,并创建了一个新的一个,但问题仍然存在。:-( –