Привет У меня есть домен класс User, и я создал сам контроллер для регистрации people.When я запустить проект и введите поля и нажмите клавишу ВВОД, я получаю эту ошибку:Missing таблицы в базе данных
org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not extract ResultSet; bad SQL grammar [n/a]; nested exception is
org.postgresql.util.PSQLException: ERROR: column this_.id does not exist
Я подключен to postgresql. У меня все остальные классы домена имеют свою собственную таблицу в базе данных, но класс домена не имеет, по моему мнению, причина, по которой я получаю эту ошибку, как ее исправить?
class User {
String login
String password
String name
static constraints = {
login size: 3..20 , unique: true, nullable: false
password size: 3..20, unique: false, nullable: false
name size: 3..20, unique: false, nullable: false
}
}
class UserController {
def scaffold = User
def login = {}
def authenticate = {
def user = User.findByLoginAndPassword(params.login, params.password)
if(user){
session.user = user
flash.message = "Hello ${user.name}!"
redirect(controller:"entry", action:"list")
}else{
flash.message = "Sorry, ${params.login}. Please try again."
redirect(action:"login")
}
}
def logout = {
flash.message = "Goodbye ${session.user.name}"
session.user = null
redirect(controller:"entry", action:"list")
}
}
class RegisterUserController {
def index() { }
def register(String user,String password,String name) {
def user2=new User(login: user,password : password,name: name)
if (user2.validate() && user2.save()) {
redirect(url: "http://localhost:8080")
} else {
}
}
}
Я получаю сообщение об ошибке на: если (user2.validate() & & user2.save())
application.yml файл:
hibernate:
cache:
queries: false
use_second_level_cache: true
use_query_cache: false
region.factory_class: org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory
dataSource:
pooled: true
jmxExport: true
driverClassName: org.postgresql.Driver
username: postgres
password:
environments:
development:
dataSource:
dbCreate: create-drop
url: jdbc:postgresql://localhost:5432/new
username: postgres
password:
test:
dataSource:
dbCreate: update
url: jdbc:postgresql://localhost:5432/new
username: postgres
password:
production:
dataSource:
dbCreate: update
url: jdbc:postgresql://localhost:5432/new
username: postgres
password:
предоставьте данные своего домена. С этой информацией невозможно точно указать причину, по которой происходит исключение. –
И предоставить Config.groovy (или application.yml) plz. – Joch
Возможно, мне нужно что-то изменить в настройках application.yml, чтобы воссоздать каждую новую таблицу классов домена? –