Propriedade de Hibernate Auto-Concrement
-
27-09-2019 - |
Pergunta
Eu sei que você pode incrementar automaticamente um ID mapeando;
<id column="user_id" name="id" >
<generator class="increment"/>
</id>
Mas também é possível incrementar uma propriedade, o que eu tentei até agora não funcionou;
<property column="numeric_value" name="nr" >
<generator class="increment"/>
</property>
Solução
Mas também é possível incrementar uma propriedade, o que eu tentei até agora não funcionou;
Não, você não pode usar um <generator>
dentro de a <property>
(Ou, para escrevê -lo em inglês simples, o Hibernate suporta apenas o uso de um gerador para propriedades do identificador).
Talvez dê uma olhada em gerado propriedades Se você pode confiar no banco de dados para gerar o valor (por exemplo, usando um gatilho).
Referências
Outras dicas
Dependeria do banco de dados e de como você criou a tabela. Por exemplo, se você estiver usando o MySQL, no campo ID da tabela deve ter um incremento automático definido para o campo. O Hibernate não o gerará, mas dependerá do banco de dados para fazê -lo. Se você usar as ferramentas de hibernação para gerar tabelas, ele cuidaria adequadamente de tabelas. Você pode se referir a http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-id