Duvida simples HIBERNATE GENERATOR

2 respostas
R

Opa galera…

Tenho uma duvida simples… a tag GENERATOR pode ser usada em uma key composta ? Ou seja, dentro de um COMPOSITE-ID ?

Ou só pode ser usada dentro de uma key simples (ID TAG) ?

Obrigado

Rodrigo Kerkhoff

2 Respostas

eltonk

Qual é a idéia em utilizar um Generator dentro de uma composite key?
Uma tabela utiliza as composite keys quando há dados repedidos em campos chaves, então, usa-se a composite para diferenciar um registro através de 2 ou mais campos…
Se você utilizar um Generator, você simplesmente mata o conceito de composite key…
Mas se mesmo assim você quiser utilizar o Generator, você pode utilizar somente este campo como chave…

De qualquer forma não é possível utilizar um generator junto com a tag <composite-id>

Veja os parâmetros aceitos…

&lt;composite-id
        name="propertyName"
        class="ClassName"
        mapped="true|false"
        access="field|property|ClassName"&gt;
        node="element-name|."

        &lt;key-property name="propertyName" type="typename" column="column_name"/&gt;
        &lt;key-many-to-one name="propertyName class="ClassName" column="column_name"/&gt;
        ......
&lt;/composite-id&gt;

Abraços!

eltonk

Só para completar…

Com annotation, tu utiliza o Generator mas como assigned

/**
     * @return Returns the usuarioPK.
     * @hibernate.id generator-class="assigned"
     */
    public UsuarioPK getUsuarioPK() {
        return usuarioPK;
    }
Criado 22 de fevereiro de 2008
Ultima resposta 4 de mar. de 2008
Respostas 2
Participantes 2