Mapeamento one-to-many
17/03/2009 00:00
CREATE TABLE ufs
(
id integer NOT NULL,
nome character varying(255) NOT NULL,
sigla character varying(255) NOT NULL,
CONSTRAINT ufs_pkey PRIMARY KEY (id)
)
CREATE TABLE cidades
(
id integer NOT NULL,
nome character varying(255) NOT NULL,
uf_id integer NOT NULL,
cidade_id integer,
CONSTRAINT cidades_pkey PRIMARY KEY (id),
CONSTRAINT fk2de48dcf6a0983a FOREIGN KEY (uf_id)
REFERENCES ufs (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk2de48dcfbf435b5a FOREIGN KEY (cidade_id)
REFERENCES cidades (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
OIDS=FALSE
);
class Uf {
static hasMany=[cidades:Cidade]
int id
String nome
String sigla
static constraints = {
}
static mapping={
table 'ufs'
version false
cidades column :'uf_id',joinTable:'cidades'
}
}
class Cidade {
int id
int uf_id
String nome
static belongsTo = Uf
static constraints = {
}
static mapping={
table 'cidades'
version false
id column:'id'
}
}
class Person {
static hasMany = [nicknames:String]
static mapping = { hasMany joinTable:[name:'bunch_o_nicknames', key:'person_id', column:'nickname', type:"text"] } }
class Person {
static hasMany = [nicknames:String]
static mapping = { hasMany joinTable:[name:'bunch_o_nicknames', key:'person_id', column:'nickname', type:"text"] } }
CREATE TABLE cidades
(
id integer NOT NULL,
nome character varying(255) NOT NULL,
uf_id integer NOT NULL,
CONSTRAINT cidades_pkey PRIMARY KEY (id)
)
CREATE TABLE ufs
(
id integer NOT NULL,
nome character varying(255) NOT NULL,
sigla character varying(255) NOT NULL,
CONSTRAINT ufs_pkey PRIMARY KEY (id)
)
CREATE TABLE ufs_cidades
(
uf_cidades_id integer,
cidade_id integer,
CONSTRAINT fkb6fad692bf435b5a FOREIGN KEY (cidade_id)
REFERENCES cidades (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fkb6fad692eb9c1aaa FOREIGN KEY (uf_cidades_id)
REFERENCES ufs (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
Para se registrar, clique aqui.