JSR-338 学习笔记(JPA)

原创 2016年05月30日 11:50:33
  1. Entities类可以用两种方式的注解来标识,Fields和Properties,区别在于如果用Fields来注解,在运行时会直接对成员变量进行访问(除了那些用Transient注解的属性,或是用transient声明的变量,transient声明的变量即告诉运行时,该变量不属于序列化的一部分,亦不属于持久化的一部分)

  2. 可以用四种类型来表示集合,Collection, Set, List, Map,@ElementCollection注解可以用来表示集合,它有两个属性,targetClass表示自定义类或者内嵌类,fetch表示获取的方式EAGER还是LAZY

  3. Validate(Bean Validation),JPA会在PrePersist,PreUpdate,PreRemove这几个生命周期事件中进行约束检查

  4. 自定义的Validator可以和默认提供的一起使用,对于Validator的注解应该和Entities的注解方式相同,即如果使用Fields模式注解的类,约束也应该加在fields上,否则应该写在properties上。

  5. 系统自带的约束参照Bean Validation章节,code层在javax.validation.constraints包下面

  6. Bidirectional和Unidirectional的区别:两个实体都存在对对方的引用,这就是bi-directional,否则就是unidirectional

  7. Cascade operation(关联操作,我自己翻译的),指的是,父Entity的变化会对引用的子Entity产生何种影响,比如父Entity被删除了,它引用的子Entity是否要一起删除,适用于@OneToOne, @OneToMany

  8. Orphan Removal(孤立删除),指的是如果一个实体被解除被引用的关系时,是否要进行删除,适用于@OneToOne, @OneToMany,默认false,比如一个客户对10个订单有引用,如果删掉1个订单,那么这个订单就是孤立的实体,可以利用孤立删除机制进行删除

  9. 管理Entities的两种方式,Container-Managed Entity Managers, Application-Managed Entity Managers,前者通过@PersistenceContext注解进行注入一个EntityManager

  10. Entity的状态,new, managed, detached, removed

  11. 强制同步,可以调用EntityManger.flush()方法进行强制同步,如果设定了关联操作,也会进行关联操作

  12. 持久单元(Persistence Units),在persistence.xml可以配置多个单元在代码中注入使用

  13. 打包,persistent units可以和war或者ejb放到一起打包,也可以单独打成jar包然后放入war或者ear中

  14. 如果放到ejb中一起打包,则persistence.xml要放到ejb/META-INF/下面

  15. 如果放到war中一起打包,则persistence.xml要放到WEB-INF/classes/META-INF/下面

  16. 如果单独打成jar包,要放到war的WEB-INF/lib下面

  17. 如果单独打成jar包,要放到ear的lib文件夹下面

版权声明:本文为博主原创文章,未经博主允许不得转载。

老生常谈-JSR规范

JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何...
  • dreamsunday
  • dreamsunday
  • 2016年02月02日 10:49
  • 6994

JSR 371——Java 8新的MVC框架

MVC是一种软件架构模式,它将业务逻辑、数据和界面显示的代码分离,将业务逻辑聚集到一个模块里面,当用户需要改进或定制个性化界面及用户交互 的时候不需要重新编写业务逻辑。在过去的十几年中,JSF所提供的...
  • dxm2025
  • dxm2025
  • 2014年11月15日 16:46
  • 314

JSR 是什么意思?

JSRs: Java Specification Requests 即Java规范要求 它是Java标准化组织(Java Community Process)提交给sun的java开发草案。 对于...
  • ccecwg
  • ccecwg
  • 2014年05月15日 14:11
  • 1249

使用 JSR 309 Media Server Control API 加速多媒体应用程序开发

架构师:多媒体 http://www.oracle.com/technetwork/cn/articles/ericson-jsr309-092979-zhs.html ...
  • killmice
  • killmice
  • 2013年04月15日 22:29
  • 1635

JSR303数据校验

在Spring3.1中增加的了对JSR303 Bean Validation规范的支持,不仅可以对Spring的 MVC进行校验,而且也可以对Hibernate的存储对象进行校验。是一个通用的校验框架...
  • gg12365gg
  • gg12365gg
  • 2016年04月26日 16:57
  • 884

JSR-303 数据校验学习(一)

一、JSR-303简介JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是Hibernate Validator。此实现与 Hibernate ...
  • qq_28867949
  • qq_28867949
  • 2017年12月28日 15:19
  • 33

Spring核心技术(十)——JSR-330标准注解

从Spring 3.0开始,Spring开始支持JSR-330标准的注解(依赖注入)。这些注解和Spring注解扫描的方式是一直的,开发者只需要在classpath中配置相关的jar包即可。 如果...
  • EthanWhite
  • EthanWhite
  • 2016年07月11日 12:32
  • 4841

SpringMVC 数据的格式化、JSR 303数据校验和国际化

1 数据的格式化User.javapublic class User { @DateTimeFormat(pattern="yyyy-MM-dd") private Date birth...
  • Peng_Hong_fu
  • Peng_Hong_fu
  • 2016年12月10日 18:28
  • 2198

JMS相关(jsr 914)

1.       消息是JMS的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。 2.       根据有效负载的类型来划分: 简单文本(TextMe...
  • hanjiaming
  • hanjiaming
  • 2013年02月05日 11:20
  • 595

用 JAX-RS 和 JSR 371 规范设计一个 MVC 框架(一)开篇

最近做几个项目都是 SSM 的,也就是 Spring MVC + MyBatis。Spring MVC 不是说不好,而是覺得整个 Spring 框架太重了,而且受框架限制遇到一些小 case 也不好处...
  • zhangxin09
  • zhangxin09
  • 2016年06月26日 15:43
  • 3324
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSR-338 学习笔记(JPA)
举报原因:
原因补充:

(最多只允许输入30个字)