web-dev-qa-db-fra.com

org.hibernate.annotations.Entity déconseillé dans Hibernate 4?

J'essaie de mettre à jour vers Hibernate 4 et j'obtiens que org.hibernate.annotations.Entity est obsolète. Aucune documentation ne semble cependant indiquer que ce soit le cas. Quelqu'un a-t-il un aperçu de cela?

@org.hibernate.annotations.Entity(dynamicUpdate = true)
37
MTR

Oui, il est obsolète dans 4.0+:

Deprecate org.hibernate.annotations.Entity
Its individual attributes/values should become annotations. 
Schedule for removal in 4.1

Tu devrais utiliser @DynamicUpdate à la place

Voici un JIRA fixe en parler.

36
tolitius

De Guide de mise en route d'Hibernate :

Le @javax.persistence.Entity l'annotation est utilisée pour marquer une classe en tant qu'entité. Il fonctionne de la même manière que l'élément de mappage de classe discuté dans la Section 2.3, "Le fichier de mappage". De plus, le @javax.persistence.Table l'annotation spécifie explicitement le nom de la table. Sans cette spécification, le nom de table par défaut serait EVENT).

Puisque org.hibernate.annotations.Entity est obsolète, vous devez utiliser l'annotation Java EE. Aussi, comme tolitius déjà mentionné, pour les configurations d'annotation de @org.hibernate.annotations.Entity, vous devez utiliser l'annotation respective, par exemple @DynamicUpdate.

J'espère que cela pourra aider.


Remarque: Event est le nom de la classe qui est annotée dans l'exemple, c'est pourquoi il indique "le nom de table par défaut serait EVENT".

8
adjs1157

Pour un usage ultérieur, veuillez vous référer à la liste des API obsolètes pour Hibernate 4.0 . Le lien est le suivant: - API obsolète

2
Arti M