Utilizando Embedded Domains
02/08/2014 09:22
1
Prezados amigos,

Estou tentando utilizar a funcionalidade de embedded domians para representar uma tabela de preços de serviços, onde o período (data inicial e final) é um domínio, e o preço (valor e moeda) é um outro domínio. Tanto o período como o preço são empacotados no domínio PrecodoServico...

Porém ao executar o aplicativo, no form de inclusão da tabela de preços, tanto a parte referente ao período quanto ao preço apresentam um campo de id e outro de versão tolatlmente indesejáveis.

Por favor, vocês podem me esclarecer o que estou fazendo de errado?

Obrigado!

Vejam a tela:

Meu código para os domínios:

package xxxxx

class PrecoServico extends TrustFIN {

String servico
Periodo periodo
Dinheiro preco

static embedded = ['preco','periodo']

static constraints = {
}
}


======================

package xxxxx

import org.joda.time.*
import org.jadira.usertype.dateandtime.joda.*
import org.joda.time.contrib.hibernate.*

class Periodo {

DateTime inicio
DateTime termino

static mapping = {
inicio type: PersistentDateTimeTZ {
column name: "inicio_timestamp"
column name: "inicio_zone"
}
termino type: PersistentDateTimeTZ {
column name: "termimno_timestamp"
column name: "termino_zone"
}
}

static constraints = {

termino(validator: { val, obj ->
val?.after(obj.inicio)
})
}
}


================================

package xxxxx

class Dinheiro {

BigDecimal valor
Currency moeda

static constraints = {
}

}
Tags: embedded;domain


1
Oi Pedro,

seu problema é simples de resolver: basta declarar as três classes de domínio no mesmo arquivo.


1
Olá Pedro,
O que fiz nesse caso foi modificar o scaffolding para gerar sem o ID e o Version.
Outra opção é remover estes campos direto no GSP gerado ^^
04/08/2014 15:22


0
Olá amigos, já consegui resolver esta questão.

Criei a classe realmente no src/groovy (já que precisarei utilizálas em outras situações). Para criar a classe, utilizei o comando do menu New/Groovy Class com um pacote de mesmo nome do pacote utilizado em domain.

Tudo certo quanto aos campos ID e Version.

Porém, os dados referentes às classes embedded não estão sendo armazenados na base de dados...

Outra questão que irei postar.

Obrigado a vocês!

05/08/2014 09:59



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto