Hibernate - Usando a anotação @GenericGenerator Dúvidas

1 resposta
P

Pessoal qual é vantagem de se usar a anotação @GenericGenerator
Fiz um teste usando somente a anotação @GeneratedValue(strategy = GenerationType.IDENTITY), consegui o mesmo efeito.
Ai não to vendo pq usar a anotação @GenericGenerator se tiver algo de mais nela, por favor me digam

Abraços a todos

[color=darkred]Usando a anotação @GenericGenerator[/color]
@javax.persistence.Entity
@org.hibernate.annotations.Entity(optimisticLock = org.hibernate.annotations.OptimisticLockType.VERSION,
                dynamicUpdate = true)  
@Table(name = "BAIRRO")
public class Bairro  extends VersionPersistentObject implements Serializable, Cloneable{
    
    private static final long serialVersionUID = 1L;

    @Id
    @GenericGenerator(name = "SEQ", strategy = "identity",
        parameters = { @Parameter(name = "SEQ", value = "1") })
    @GeneratedValue(generator = "SEQ")
    @Column(name = "CODBAIRRO",  nullable = false)
    @DisplayField(columnTitle="Cod. Bairro", columnIdentifier="codBairro", size=80, type=Integer.class )        
    private Integer codBairro;

}
[color=darkblue]Usando somente a anotação @GeneratedValue [/color]
@javax.persistence.Entity
@org.hibernate.annotations.Entity(optimisticLock = org.hibernate.annotations.OptimisticLockType.VERSION,
                dynamicUpdate = true)  
@Table(name = "BAIRRO")
public class Bairro  extends VersionPersistentObject implements Serializable, Cloneable{
    
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "CODBAIRRO",  nullable = false)
    @DisplayField(columnTitle="Cod. Bairro", columnIdentifier="codBairro", size=80, type=Integer.class )        
    private Integer codBairro;

}

1 Resposta

J

Esta annotation pode ser usada em situações onde você precisa gerar a chave da sua entidade baseando-se em relacionamentos (chaves estrangeiras), ou fórmulas do banco de dados. Mais detalhes na própria documentação do Hibernate.

Criado 26 de fevereiro de 2009
Ultima resposta 27 de fev. de 2009
Respostas 1
Participantes 2