2011-11-02 16 views
33

Estoy intentando actualizar a Hibernate 4 y estoy obteniendo ese org.hibernate.annotations.Entity está en desuso. Sin embargo, ninguna documentación parece indicar que este sea el caso. Alguien tiene alguna idea de esto?org.hibernate.annotations.Entity obsoleto en Hibernate 4?

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

Respuesta

30

Sí, está en desuso en 4.0+:

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

Debe utilizar @DynamicUpdate lugar

Aquí es una fixed JIRA hablar de ello.

+0

Gracias. En este sentido, la actualización a Hibernate 4 es un poco complicada. Ni siquiera puedo crear una fábrica de sesiones: – MTR

+0

Tenga en cuenta que la anotación '@ DynamicInsert' también existe. –

6

De Hibernate Getting Started Guide:

La anotación @javax.persistence.Entity se utiliza para marcar una clase como una entidad . Funciona igual que el elemento de mapeo de clase discutido en la Sección 2.3, "El archivo de mapeo". Además, la anotación @javax.persistence.Table especifica explícitamente el nombre de la tabla . Sin esta especificación, el nombre de tabla predeterminado sería EVENTO).

Dado que org.hibernate.annotations.Entity ha quedado obsoleto, debe utilizar la anotación Java EE. Además, como ya mencionó tolitius, para las configuraciones de anotación de @org.hibernate.annotations.Entity, debe usar la anotación respectiva, p. @DynamicUpdate.

Espero que ayude.


Nota: Event es el nombre de la clase que se anota en el ejemplo, es por eso que se dice "nombre de tabla por defecto sería EVENTO".

2

Para el propósito futuro, consulte la lista de API en desuso para Hibernate 4.0. El enlace es el siguiente: - Deprecated API