#grails #grails-domain-class
#grails #grails-domain-class
Вопрос:
Я создал представление в моей базе данных Postgres. В grails создайте класс следующим образом:
class ViewDeudce{
BigDecimal stateid
BigDecimal motivid
static mapping = {
id column:"id", sqlType:"numeric"
table 'viewDeudce'
version false
}
}
Идентификатор представления — это «номер клиента». Если у меня есть класс «Client», при выполнении этого я не смогу связать его?:
class Clients implements Serializable {
String name
BigDecimal document
String brutos
ViewDeudce viewDeudce
static mapping = {
id column:"idclient", sqlType:"numeric", generator: 'assigned'
ViewDeudce column: "id", sqlType:"numeric"
version false
}
Насколько я понимаю, я не указываю классу Client, чтобы он связывался с классом ‘ViewDeudce’ через атрибут id?
Потому что при перезапуске сервера он не запускается и выдает следующую ошибку:
Caused by BeanCreationException: Error creating bean with name '$ primaryTransactionManager': Can not resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ' sessionFactory ': Invocation of init method failed; nested exception is org.hibernate.HibernateException: Missing column: id in public.clients
- >> 266 | run in java.util.concurrent.FutureTask
Спасибо!
Ответ №1:
возможно, попробуйте использовать id для reated, а не grails.domain class
class Clients implements Serializable {
String name
BigDecimal document
String brutos
//ViewDeudce viewDeudce
//!!change here!!
Long viewDeudceId
static mapping = {
id column:"idclient", sqlType:"numeric", generator: 'assigned'
ViewDeudce column: "id", sqlType:"numeric"
version false
}
Комментарии:
1. Здравствуйте! Спасибо за ответ, мне нужно иметь возможность входить с клиента, сделайте что-то вроде этого: ‘client.viewDeuce’, потому что представление долга включает в себя общий долг клиента. Все это является частью критерия GRAN
2. ViewDeudce(представление) и Client (таблица) Два класса имеют конструктивные отношения в базе данных. вам не нужно создавать их в grails. после изменения клиента (обновления или удаления) ViewDeudce тоже изменился.