J'ai écrit mon propre identifiant:
@GeneratedValue(
strategy = GenerationType.SEQUENCE,
generator = "MY_SEQUENCE")
@SequenceGenerator(
allocationSize = 1,
name = "MY_SEQUENCE",
sequenceName = "MY_SEQUENCE_NAME")
4 Réponses :
Vous pouvez appeler essentiellement le séquenceGenerator de votre classe génératrice. En écrivant ce code.
La classe génératrice personnalisée doit être } et la classe de domaine sera p>
Dans le code ci-dessus, Stud_nosequence est le nom de la séquence, que Shoulb soit créé. Dans la base de données par WRING Créer une séquence Stud_nosequence; Code>
Hibernate.string est le type qui sera renvoyé par la classe de séquenceGenerator. P>
Votre message a été utile de mettre à jour le nom de la séquence.
Parce que j'utilise une séquence par mois, et la configuration ne met pas à jour chaque génération d'identifiant. P>
Voici mon code: p>
@Id @GenericGenerator(name = "seq_id", strategy = "de.generator.AkteIdGenerator") @GeneratedValue(generator = "seq_id") @Column(name = "ID") private Integer Id; http://blog.anorakgirl.co.uk/2009/01/custom-hibernate-sequence-generator-for-id-field/
Je ne sais pas si cela aide, mais je continuais à venir sur ce post lors de la recherche de ma réponse, que je n'ai pas trouvé posté nulle part, mais j'ai trouvé une solution moi-même. Je pensais donc que cela pourrait être le meilleur endroit à partager.
Si vous utilisez Hibernate en tant que fournisseur JPA, vous pouvez appeler manuellement un générateur d'identification attribué à une classe d'entité donnée. D'abord injecter le jpacontext: p> puis obtenez l'org.hibernate interne.Id.identifierGenerator avec ceci: p> Serializable id = generator.generate(session, new MyEntity());