Я работаю над простым проектом grails, когда у меня возникла проблема. Я провел много исследований, но я не нашел правильного ответа.Ошибка при загрузке диспетчера плагинов в Grails/Groovy
Дело в том, у меня есть 3 класса домена, а именно инвентаризации, Пользователь и Movement и отношения между ними является один-ко-многим для Inventory и движение и то же самое для Пользователь и Движение so Движение в значительной степени посередине. Мне удалось хорошо подключить Inventory and Movement, но другие отношения показывают ошибку ниже.
Error |
Error loading plugin manager: Property [movements] in class [classcom.inventory.User] is a
bidirectional one-to-many with two possible properties on the inverse side.
Either name one of the properties on other side of the relationship [user] or use the
'mappedBy' static to define the property that the relationship is mapped with.
Example: static mappedBy = [movements:'myprop'] (Use--stacktrace to see the full trace)
| Error Forked Grails VM exited with error
Это мои классы домена:
пользователей:
class User {
String userID
String fullName
String position
Department department
String toString(){
fullName
}
static hasMany = [inventories: Inventory, movements: Movement]
static constraints = {
userID blank: false, unique: true
fullName blank: false
position()
department()
movements nullable: true
}
}
Движение:
class Movement {
User oldUser
User newUser
Inventory inventoryID
Date movementDate
User userResponsible
//static belongsTo = User
static constraints = {
inventoryID blank: false
oldUser blank: false
newUser blank: false
movementDate()
userResponsible blank: false
}
}
Inventory:
class Inventory {
String inventoryID
String code
String description
String serial_num
Date purchase_date
byte[] image
Date record_date
String remarks
Type type
Brand brand
User user
static hasMany = [movements: Movement]
String toString(){
"$inventoryID, $type"
}
static constraints = {
inventoryID blank: false, unique: true
code blank: false
description nullable: true, maxSize: 1000
serial_num blank: false
purchase_date()
image nullable: true, maxSize: 1000000
record_date()
remarks nullable: true, maxSize: 1000
type()
brand()
user()
}
}
Любая идея, как решить ошибку .. ??
ваше решение работал, но приложение все еще получило ошибку, которую я решил, удалив «перемещения nullable: true» в ограничениях класса User. –
Может ли кто-нибудь предложить, как мне расширить приложение, чтобы при перемещении инвентаря из olduser в newuser в классе Movement владелец инвентаря должен был быть изменен и отражен в классе User. Возможно ли это, и как я могу это сделать. –