hibernate - 实体类和持久类有什么区别?

标签 hibernate jpa orm entity persistence

我正在浏览Hibernate Documentation其中作者使用术语持久类来指代实体

作者说,然而,并非所有具有持久状态的用户定义的类都是实体......

我无法区分两者。请提出建议。

最佳答案

hibernate defines持久类作为任何可以持久化到数据库的类。

持久化类有两种类型:实体类型值类型。所以实体是持久类的一种类型。

实体类型是那些用@Entity标记的类,而值类型是那些用@Embeddable标记的类或一些基本的Java类型,例如String整数日期

它们之间的主要区别在于值类型不定义自己的生命周期。它们由定义其生命周期的实体类型“拥有”。

我们创建一个实体类型类,其中包含许多值类型类。

关于hibernate - 实体类和持久类有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28372601/

相关文章:

java - 无法持久保存附加现有对象的新对象

php - 什么相当于在条令中编写任务的存储库?

php - Laravel 的 Eloquent ORM 与查询生成器

java - LazyInitializationException - ManyToOne 包含 Eager,无法添加到 OneToMany

java - 在 JPA 中定义关系属性

java - 使用 Spring Data JPA 的多对多映射和保存问题

java - 我们可以将 JPA 静态元模型类的成员变量声明为 final 吗?

java - hibernate 中的 GenerationType.AUTO 与 GenerationType.IDENTITY

java - Hibernate插入行外键错误

java - 我无法让 hibernate 在我的 Spring Web Flow 项目中工作