web-dev-qa-db-fra.com

Remplacez @SequenceGenerator car son obsolète

J'ai un problème avec @SequenceGenerator:

@SequenceGenerator(name="pk_user_id", sequenceName="seq_user_id", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="pk_user_id")

Lorsque l'application démarre, elle affiche un avertissement:

WARN 7388 --- [principal] org.hibernate.orm.deprecation: HHH90000014: utilisation trouvée du générateur d'ID basé sur la séquence déconseillé [org.hibernate.id.SequenceHiLoGenerator]; utilisez plutôt org.hibernate.id.enhanced.SequenceStyleGenerator. Voir le Guide de mappage de modèle de domaine Hibernate pour plus de détails

J'ai essayé de savoir comment remplacer un code obsolète par un nouveau, mais je ne trouve aucune solution.

24
Finchsize

Selon le message d'avertissement et la documentation Hibernate ( Hibernate deprecated list ), vous devez utiliser SequenceStyleGenerator . Ou mieux utiliser @ GenericGenerator et spécifier la stratégie du générateur.

@GenericGenerator(
        name = "wikiSequenceGenerator",
        strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
        parameters = {
                @Parameter(name = "sequence_name", value = "WIKI_SEQUENCE"),
                @Parameter(name = "initial_value", value = "1000"),
                @Parameter(name = "increment_size", value = "1")
        }
)
@Id
@GeneratedValue(generator = "wikiSequenceGenerator")
42
semenchikus