java - 为什么在配置文件中定义类时需要@Entity注解

标签 java hibernate

我是 Hibernate 的新手。我正在浏览一些教程,我发现如果我们在 hibernate 配置文件中添加模型类,我们仍然需要在模型类中添加 @Entity 注释。

为什么会这样?

最佳答案

@Entity 是一个 JPA 注释。来自JPA specification , 第 2.1 节:

The entity class must be annotated with the Entity annotation or denoted in the XML descriptor as an entity.

因此,如果您对映射使用注解,@Entity 是规范强制要求的,Hibernate 必须遵守它。

JPA 设计者能否将其设为可选?可能是的,但是总是将它添加到实体类中以明确指定一个类是一个实体,从而使代码的 future 读者更容易立即看到该类的用途,这确实不需要花费太多精力。

关于java - 为什么在配置文件中定义类时需要@Entity注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35345740/

相关文章:

java - 带有空指针异常的Android setonclicklistener

java - 使用java从字符串中找到整数第一次出现的索引

hibernate - 无法将名称 [org.hibernate.cache.ehcache.EhCacheRegionFactory] ​​解析为策略 [org.hibernate.cache.spi.RegionFactory]

java - 在 Web 应用程序的所有层中使用实体对象是一种不好的做法吗?

java - 如何使用 Java 从 Internet 下载并保存文件?

java - 设计一个具有级联函数调用的API(Class.doThis ("...").doThat ("...").....)

java - 如何通过在java中对每个数字进行乘积来从一组数字中找到单个数字

java - 使用 hibernate @Formula 获取集合

java - 我如何使用 Hibernate/JPA 在插入/更新/删除之前告诉数据库用户是谁?

java - 有没有办法验证延迟加载的对象不在 Hibernate session 中?