Я не смог вставить данные в свой класс домена 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-02-10 18: 44: 08,307 [http-bio-8080-exec-4] ERROR spi.SqlExceptionHelper - поле «employee» не имеет значения по умолчанию Исключение в getDbuserDetails() DbuserService.groovy: org .springframework.dao.DataIntegrityViolationException: Операция спящего режима: не удалось выполнить оператор; SQL [n/a]; Поле «employee» не имеет значения по умолчанию; вложенное исключение - java.sql.SQLException: поле «employee» не имеет значения по умолчанию
Ошибка | 2017-02-10 18: 44: 08,328 [http-bio-8080-exec-4] ОШИБКА hibernate.AssertionFailure - HHH000099: произошла ошибка утверждения (это может указывать на ошибку в спящем режиме, но, скорее всего, из-за небезопасного использования сеанса): org.hibernate.AssertionFailure: null id в записи com.domain.gcg.DbUser (не очищать сеанс после возникновения исключения)
Ошибка | 2017-02-10 18: 44: 08,469 [http-bio-8080-exec-4] Ошибки ERROR.GrailsExceptionResolver - AssertionFailure возникла при обработке запроса: [POST]/UserManagement/dbuser/addDbuserDetails - параметры: Repassword: pass123 клиент: testclient пароль: pass123 EmpId: SE357 EmpName: Abhilash Shajan Имя пользователя: Abhi123 нулевой идентификатор в записи com.domain.gcg.DbUser (не сбрасывают сессии после того, как происходит исключение). StackTrace следующим образом: сообщения: нулевой идентификатор в записи com.domain.gcg.DbUser (не сбрасывают сессии после того, как происходит исключение)
Вот мой 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 Я удалил свою базу данных и создал новую, но проблема все еще существует. :-( –