with name example ejemplo column anotaciones annotation jpa annotations entity

name - ¿Cuál es el significado exacto de la anotación JPA @Entity?



jpa annotations example (1)

@Entity anotación @Entity define que una clase se puede asignar a una tabla. Y eso es todo, es solo un marcador, como por ejemplo la interfaz Serializable .

¿Y por @Entity anotación @Entity es obligatoria? ... bueno, es la forma en que JPA está diseñado. Cuando creas una nueva entidad tienes que hacer al menos dos cosas

  1. lo anotó con @Entity

  2. crear un campo de identificación y anotarlo con @Id

Cualquier otra cosa es opcional, por ejemplo, el nombre de la tabla se deriva del nombre de la clase de la entidad (y, por @Table tanto, la anotación @Table puede ser opcional), las columnas de la tabla se derivan de las variables de las entidades (y por @Column tanto la anotación @Column puede ser opcional), y así sucesivamente ...

JPA está tratando de proporcionar un inicio rápido y fácil a los desarrolladores que desean aprender / usar esta API, y dar a los desarrolladores la opción de configurar el menor número posible de cosas para hacer que algo sea funcional es una de las formas en que esta API quiere lograr esto "fácil para usar / aprender "objetivo. Por lo tanto, la anotación @Entity (junto con la anotación @Id ) es lo mínimo que debe hacer para crear una entidad.

Estoy estudiando JPA en la aplicación Spring y tengo algunas dudas relacionadas con la anotación @Entity .

Así que tengo una clase modelo como esta:

@Entity @Table(name= “T_CUSTOMER”) public class Customer { @Id @Column(name=“cust_id”) private Long id; @Column(name=“first_name”) private String firstName; @Transient private User currentUser; ........................... ........................... ........................... }

Ok, sé que la anotación @Entity está en el nivel de clase y significa que los campos del objeto que son instancias de esta clase se deben asignar al campo de la tabla de base de datos T_CUSTOMER .

Pero, ¿por qué en JPA es obligatorio usar la anotación @Entity y no solo puedo usar la anotación @Table para asignar un objeto modelo a una tabla de base de datos específica? ¿Tiene algún otro significado / comportamiento que realmente me falta?

¿Qué me estoy perdiendo? ¿Cuál es el significado exacto de la anotación @Entity ?