写在笔记之前,作为一个learner,还不敢自称coder,学习写笔记是必须的,笔记就相当于总结,你把一个东西顺一遍跟你看过一遍是不一样的,做笔记相当于你对知识的一个自我反馈和沉淀。另外,虽然人类共用的语言体系只有差不多,或者说公用一套语言,但是其实每个人应该也是有自己的一套独特的语言的,比如,说话的方式、风格,所以说,记笔记是一种变相的把别人的语言结构转化为自己的语言体系的一种方式。SO...记笔记是多么重要
1.什么是实体类?实体可以描述为有特性和关系的事物,我们期望把它的特性和关系保存在关系型数据库中。实体还可以表示为一组状态关联在一起的某个单元。在面向对象中,将行为添加到实体中,称之为对象,在JPA中任何应用程序定义的对象都可以是一个实体。
一个实体类是一个持久区域对象,一个实体类能够充分利用辅助类,本章描述了实体类和实例的一些requirement.
一.实体类的一些convertions.
1.实体类必须是用Entity声明或者在XML里面表示
2.实体类必须有一个无参的构造方法,当然实体类还可以有别的构造函数,无参构造函数必须是public或者protected的。
3.实体类必须是一个顶级类,enum和interface就不能是实体类。
4.实体类不能使final的
5.如果entity instance被传递一个detached对象,这个实体类必须实现serializable接口
6.实体也支持继承、多态和多态查询。抽象和具体的类都能使实体。实体可以继承自非实体类和实体类,非实体也可以继承自实体类。
7.实例变量代表了一个实体的持久声明,实例变量可以与JavaBean的属性相通信。客户端只能通过实体的getter/setter方法获取entity的状态。
8.Persistent Fields and Properties.一个类的实例变量不能使public,entity class遵循JavaBean的方法签名,每一个持久属性有一个setter和getter方法,T getProperty(),void setProperty(T t)
JPA为JAVA开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据。ORM映射元数据,元数据描述对象和表之间的映射关系,框架据此将实体类;Java持久化API,对实体bean进行增删改查操作;查询语言,JPQL语言,持久化操作,面向对象的操作语言。
1.先建表,然后根据表来编写配置文件和实体bean;或者先编写配置文件和实体bean,然后再生成表,