我有兩個領域類:Grails的格姆空字段
class Person {
String lastname
String firstname
String alias
Date birthday
String notes
static belongsTo = [addressBook: AddressBook, mainAddress: Address]
static hasMany = [tags: Tag, addresses: Address]
static constraints = {
mainAddress nullable: true
addresses nullable: true
alias nullable: true
birthday: nullable: true
tags nullable: true
notes nullable: true
}
}
和
class Address {
AddressType addressType
static belongsTo = [person: Person]
String company
String street
String zipCode
String city
String eMail
String phone
String mobile
String website
static constraints = {
person nullable: true
company nullable: true
website nullable: true
}
}
它的目的,每個人都有多個地址,可以定義一個地址作爲主地址。
在我的控制我做一個
params.max = Math.min(max ?: 10, 100)
respond Person.list(params)
加載所有地址的所有的人。我收到的個人對象包含一個包含所有地址和mainAddress的地址列表。但是,用作主地址的地址在兩個對象(列表中的一個和mainAddress對象中)中只有空(空)字段。當我不設置mainAddress時,地址列表中的地址對象帶有正確設置的所有字段。數據庫字段(我用的是內存-DB迄今爲止)似乎是正確的:
create table address (id bigint generated by default as identity, version bigint not null, address_type varchar(255) not null, city varchar(255) not null, company varchar(255), e_mail varchar(255) not null, mobile varchar(255) not null, person_id bigint, phone varchar(255) not null, street varchar(255) not null, website varchar(255), zip_code varchar(255) not null, primary key (id))
create table person (id bigint generated by default as identity, version bigint not null, address_book_id bigint not null, alias varchar(255), birthday timestamp not null, firstname varchar(255) not null, lastname varchar(255) not null, main_address_id bigint, notes varchar(255), primary key (id))
有沒有人一個想法,爲什麼我的映射不工作?
感謝您的幫助提前
羅蘭
類人belongsTo地址和地址belongsTo人?你一定是在開玩笑 – injecteer 2014-09-03 13:40:44
你可能是指「人有一個地址」和「地址屬於人」? – injecteer 2014-09-03 13:41:57