何为Entity
Java EE规范中关于Entity的第一句就是An entity is a lightweight persistence domain object
entity应该和E-R图中的E是一个意思就是实体,接下来是“轻量级的持久化domain object”,
啥是domain object?
按维基上的解释就是一个多层的业务系统中持有状态的对象,用来进行层次间数据的传递。其中分离了动作(通常如此)的被称为贫血业务对象(Anemic),该模式被Martin Fowler大叔作为反模式批判。Entity中持久化的状态可以通过持久化属性或字段表示,并用注解进行标记。
如何理解持久化和轻量级呢?
持久化的领域对象,意即领域对象包括两种,不需要通过I/O进行持久化的和需要的。
轻量级的意思,应该是相对EJB2而言,可以脱离EJB容器而存在。
一个实体类的要素包括:
1 用javax.persistence.Entity注解
2 该类必须提供无参数构造方法,可以使protected或public的
3 该类必须可继承(不能final),实例变量和方法也一样
4 当需要作为游离对象被传递给EJB会话Bean时,需要同时实现Serializable接口
5 可以自由继承和被继承
6 持久化的实例变量必须保证只能通过方法来访问(private或protected声明)
对持久化字段和属性的要求
必须是基本类型,字符串,或其他的可序列化类型
持久化字段和属性的区别是,一个将标注应用到字段上,一个应用在Getter上
对于出现Many的情况,所用的集合类型必须实现Java的Collection接口,如:
■ java.util.Set
■ java.util.List
■ java.util.Map
JAP2.0引入了ElementCollection标记,可以用来表述非Entity定义的集合的一对多关系,其生成的表结构为一个fk和value组合为主键的关联表
可以用@Pattern @NotNull 等进行字段的约束
主键
主键必须是常见类型或者自定义的复合主键类
建立复合主键类时,要注意重写equals和hashcode
关系
共有四种关系:
一对一
一对多
多对一
多对多
关系的方向:
有双向和单向,双向可以在双方做修改,单向只能在一方做修改
在使用查询语言时,要注意方向上的可达性
分享到:
相关推荐
JPA核心知识总结 详解 spring JPA
里面介绍了一些JPA的基础知识,适合想了解JPA的大虾门
springboot jpa 自动生成实体类的 文件 可以拿走直接用 Generate POJOs.groovy
主要内容: JPA 体系架构 Entity Bean EntityManager JPA Query
最新,最全的JPA的技术文档,希望对大家有帮助
对于jpa基本知识的学习讲解,重点学习了JPA的生命周期、实体管理器 持久化上下文 映射策略等
jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联...
没有spring-data-jpa-entity-graph的生活 仅通过注释支持EntityGraph。 因此,对于存储库方法,必须在编译之前最多选择一个EntityGraph。 这样可以避免您在考虑运行时上下文的情况下选择最佳的EntityGraph :broken_...
JPA Entity framework, inside of a Glassfish container
JPA教程JPA教程JPA教程JPA教程JPA教程
jpa jpa规范 jpa源码 jpa jpa规范 jpa源码
本文档主要记录了一些我在项目中使用JPA时总结的一些小点,包括:配置、查询(包括动态查询+分页)、传参、基本注解等
JPA开发文档 1. 发展中的持久化技术 2 1.1 JDBC 2 1.2关系对象映射(Object Relational Mapping,ORM) 2 1.3 Java数据对象(Java Data Object,JDO) 2 1.4 Java Persistence API(JPA) 2 2. JPA体系架构 3 清单1...
Spring Data JPA 整合案例
NULL 博文链接:https://forlan.iteye.com/blog/2413050
本工具可以根据数据库表自动生成JPA开发所需的实体JavaBean(带有jpa主注解)、repository及service类,提高开发效率;目前支持数据库:MYSQL;并提供配合演示使用的demo项目。
jpajpajpajpajpajpajpajpajpajpajpajpajpa
包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注
Web Service -Modeling Your First JPA Entity in CE 7.1
这是JPA标签配置手册,从ORACLE官方得到的资料,里面对JPA所有的标签都进行详细的说明。 Index of Annotations • A o @AssociationOverride o @AssociationOverrides o @AttributeOverride o @AttributeOverrides ...