自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

成长的足迹

见证个人成长,分享技术经验

  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

原创 Hibernate中的Entity类之间的ManyToMany关联

Hibernate中的Entity类之间的ManyToMany关联,必须在数据库模式中有一个中间连接表,其中的外键作为两个实体表之间的桥梁;而实体表中没有外键。1. ManyToMany单向关联任选一个实体类作为owning side,设置关联如下:@Entity(name = "Person")public static class Person { @Id @G

2016-05-31 15:46:02 2634

原创 Hibernate中的Entity类之间的OneToOne关联

Hibernate中的Entity类之间的OneToOne关联也存在单向关联和双向关联两种形式。OneToOne关联的两个Entity类是完全对等的,任何一方都可以是这种关联的子类(owning side),而另一方是父类(reverse side)。1. 双向关联在OneToOne关联的两个Entity类中,选择一个作为子实体类(owning side),其对应的表中设置外键

2016-05-30 14:30:24 2524

原创 Hibernate中的Entity类之间的OneToMany关联

OneToMany关联将一个父Entity类与若干个子Entity类联系起来。1. 双向关联通常,OneToMany关联都有与之反向的ManyToOne关联对应,两者成组出现,这被称为双向关联。双向关联中,可以从任何一个Entity类实例访问关联的另一个Entity类实例(通过get*()方法)。在数据库模式中,也只需要常规地,在子Entity类(owning side)中设置外键

2016-05-30 10:37:10 3196

原创 Hibernate中的Entity类之间的ManyToOne关联

Hibernate中的Entity类之间的关联是建立在数据库表结构的设计上的。@ManyToOne关联是Hibernate中最常见、也是最容易理解的关联。因为,@ManyToOne关联与数据库表结构的外键关联非常类似,往往位于在子Entity类中,表示了子Entity类与父Entity类之间的关系。Hibernate中

2016-05-30 00:00:00 2594

原创 Hibernate中的Entity类的JPA字段/属性访问策略

作为JPA的实现之一,Hibernate默认支持JPA的实体字段(instance field)访问和getter方法(instance property)访问两种访问策略。1. 通过@javax.persistence.Id设置JPA默认访问策略如果@javax.persistence.Id修饰字段(field),则采用基于字段(field)的访问策略@Entitypu

2016-05-27 15:09:19 3220

原创 Hibernate中的Entity类的乐观锁配置

Hibernate中对Entity对象的修改,最终往往是要持久化到存储中的,那么Hibernate如何保证存储的有效性呢?首先,持久化Entity对象的修改仅限于对存储的UPDATE和DELETE操作,对于INSERT和SELECT无需考虑这个问题。这里介绍Hibernate中乐观锁的使用。1. 在Hibernate对JPA的实现中,其乐观锁就是在进行UPDATE和DELETE操作时检

2016-05-26 15:05:59 5661

原创 Hibernate中的Entity类中的getter/setter方法

Hibernate中定义的Entity类,其中可以有如下属性:static属性非transient的实例属性transient的实例属性默认,能够被持久化的只有非transient的实例属性,下面我们主要讨论这种属性。在Hibernate的JPA实现中,所有属性都必须有publlic的getter/setter方法,供其他对象直接访问Entity对象的状态。但是,在Hi

2016-05-26 12:17:32 2906

原创 Hibernate中的Entity类中的无参数构造函数

Hibernate中定义的Entity类(无论是JPA实现,还是Hibernate Native实现),都必须有一个无参数的构造函数。当然,还可以有其他的构造函数,但是这个无参数的构造函数是必须的。此外,为了支持运行时代理生成机制,JPA实现要求这个无参数的构造函数必须是public或protected的;而Hibernate Native 实现要求这个无参数的构造函数必须是非privat

2016-05-26 11:37:03 1766

原创 Hibernate中的Entity类未必final

Hibernate中定义的Entity类(无论是JPA实现,还是Hibernate Native实现),都建议Entity类是final的,但这不是必须的。事实上,如果不考虑利用Entity类的延迟加载特性,那么Entity类无需是final的。Hibernate中Entity类的延迟加载是通过运行时动态代理实现的。而Java动态代理实现中,要求被代理类(就是这里的Entity类)不能是f

2016-05-26 11:17:06 1119

原创 Hibernate数据类型及JPA的Entity类与Hibernate的Entity类的区别

Entity类型是Hibernate数据类型之一,Hibernate的另一种数据类型是Value类型。1. Hibernate的Value类型Value类型是基本的数据类型,这些数据没有独立的生命周期,其具体的生命周期依赖于所在的父类。Value类型又可以细分为如下类型:基本类型,如BooleanType、CharacterType@javax.persistence.Ba

2016-05-25 15:31:14 3109

原创 Hibernate 5.1概述

Hibernate是一个针对Java应用的ORM解决方案。1. 从架构上说,Hibernate在JDBC基础之上,基于JPA或Hibernate Native API,为应用提供统一的访问层,如下图所示:2. Hibernate实现了2组数据访问的API,一个是JavaEE标准的JPA,另一个是Hibernate独有的Hibernate Native API。2组API

2016-05-24 15:40:15 2593

原创 volatile与synchronized在Java单例模式中的应用

在大量Java设计模式中,单例模式是常见的构建模式之一,其实现方式也可以根据某些特性产生多个变形。下面介绍在Java 1.5中,结合使用volatile与synchronized,通过双校验锁机制实现的单例模式,实现代码如下:public class MyDoubleCheckedSingleton { private volatile static MyDoubleCheckedSin

2016-05-23 11:22:25 1765

原创 Java中synchronized与volatile的区别与联系

在Java多线程编程中,synchronized是非常常用的关键字,而volatile关键字比较罕见。从Java 1.5开始,volatile关键字被赋予了新的特性,使其能够实现更轻量级的并发访问控制。首先从用处

2016-05-22 23:52:19 9739

原创 Java NIO概述

从Java 1.4开始,为提升Java IO的效率,提供了Java NIO相关API。该API细分了IO请求与IO的实际执行,从而使得线程可以更高效得并行执行。Java 1.7彻底解决了线程发出IO请求后的阻塞问题,也被称为NIO 2.0。1. Java IO的实现方式阻塞的BIO线程发出IO请求后阻塞,等待IO处理。同步非阻塞的NIO(JDK4)线程发出IO请

2016-05-18 10:47:19 437

原创 Java IO概述

此处的Java IO指Java 1.4引入NIO之前的Java API,关于NIO的特性,我们将在后续文章中介绍。Java中以IO流的方式进行IO操作的处理,提供了如下分类的API。1. 字节流java.io.InputStream抽象类,字节输入流java.io.OutputStream抽象类,字节输出流1.1文件IO字节流java.io.FileInputStr

2016-05-17 14:23:05 735 1

原创 Java多线程同步方法的概述

1. Java多线程同步主要解决的问题:线程之间的干扰(通过线程同步解决)内存一致性错误(通过对读写操作建立happens-before关系解决)2. 概念1) happens-before关系写操作与读操作具有happens-before关系,则写线程执行的结果对读线程是可见的。2) 隐含锁隐含锁(固有锁intrinsic lock、监视器锁monitor l

2016-05-16 17:15:25 532

原创 Java 1.5并发包之三:线程池实现之Fork/Join框架

在Java 1.7中,提供了一种特殊的线程池实现,即Fork/Join框架,主要是适应多核处理器的发展,以支持多进程执行。Fork/Join框架是java.util.concurrent.ExecutorService的一个实现(所以也是一种线程池)。该线程池与其他的线程池最大的不同是,Fork/Join线程池中的线程在执行任务的时候采用work-stealing算法,即线程执行完一个任务

2016-05-15 22:57:45 472

原创 Java 1.5并发包之二:任务与线程池

从Java 1.5开始,并发的最大特点是将线程的创建和管理与具体任务的执行分离,线程的创建和管理单独交给了专门线程池。1. 具体要执行的任务任务对象往往是在一个线程中创建,然后交给另一个线程执行。java.lang.Runnable接口传统接口,不能返回值,也不能抛出checked的异常(即只能抛出RuntimeException及其子类的异常)java.util.concurrent.Calla...

2016-05-13 14:19:12 688

原创 Java 1.5并发包之一:Lock

从Java 1.5开始,Java并发应用中创建Thread对象的方法有如下2种:利用java.lang包中的Thread和Runnable直接创建并管理Thread对象利用java.util.concurrent包中的接口和类创建和管理线程,以充分利用多核处理器这里,我们将陆续介绍第二种方法。1. Lock对象,控制多个线程对共享资源的访问最大的优点是tryLo

2016-05-12 17:32:23 638

原创 从JBoss Seam 2.x迁移到JavaEE 7之四:事件机制

为了在Managed Bean之间进行通信,JBoss Seam 2.x和JavaEE 7 CDI都为Managed Bean提供了生成事件对象和捕获事件对象的功能。JBoss Seam 2.x中,事件的类型是String表示。一个事件监听器可以监听多种类型的事件,任何匹配类型的事件产生都将通知事件监听器。JavaEE 7 CDI中,事件是一个对象,其中包括一个有效负载(也是个Java对象

2016-05-09 22:39:17 1622

原创 从JBoss Seam 2.x迁移到JavaEE 7之三:对象的注入

通常,JBossSeam 2.x提供了@In标注,用以注入一个对象。此外,JBossSeam 2.x还提供了如下特殊的标注,实现对象的注入:@RequestParameter,将HTTP请求的参数注入JavaEE 7 CDI没有提供类似的功能,不过JSF 2.0提供的有类似的功能。@Logger,JBoss Seam 2.x提供了内置的日志实现,以封装通用的日志

2016-05-08 23:42:17 537

原创 从JBoss Seam 2.x迁移到JavaEE 7之二:组件的有效范围Scope

JBoss Seam 2.x提供了预置的几种Scope,如@Scope(ScopeType.SESSION)等,但不能扩展。JavaEE 7 CDI也提供了预置的几种Scope,如@SessionScoped。此外,还可以扩展实现新的Scope。两者内置的Scope的对比:Seam 2 ScopeCDI ScopeEv

2016-05-06 23:40:37 441

原创 从JBoss Seam 2.x迁移到JavaEE 7之一:组件模型

JBoss Seam中的Component可以是如下类型的POJO:Java BeanEJB 3.0无状态会话BeanEJB 3.0有状态会话BeanEJB 3.0消息驱动BeanJPA实体BeanSpring Bean JavaEE 7 CDI支持如下类型的Bean:Managed BeanEJB会话BeanEJB消息驱动BeanProducer的方法和字段各

2016-05-05 23:39:59 945

原创 Apache Maven项目提供的EAR插件详解

EAR插件主要用于生成Java EE Enterprise Archive (EAR)文件,即将各种组件打包到一起生成一个ear文件。此外,EAR插件也可以用于生成EAR的部署描述符文件application.xml。EAR插件的最新版本是2015.6发布的2.10.11. EAR插件提供的2个goal:ear:ear,生成Java EEEnterprise Arc

2016-05-04 23:02:27 3595

原创 Apache Maven项目提供的WAR插件详解

WAR插件用于将汇集的Java类文件、依赖的jar文件和资源文件等一起打包以构建war包文件。WAR插件当前的最新版本是2015.1发布的2.6。1. WAR插件提供了4个goal:war:war,对于POM中打包类型为war的项目,Maven的package 阶段默认执行该goal,从而构建出一个war文件。war:exploded,通常用于开发阶段,创建一个包含

2016-05-03 23:28:47 4606 1

原创 Apache Maven项目提供的JAR插件详解

JAR插件顾名思义,主要用于构建jar包文件。该插件也利用了Maven Archiver具体设置jar包的内容和Manifest文件。JAR插件当前的最新版本是2015.3发布的2.6。JAR插件提供的两个goal:jar:jar,利用Maven项目的classes文件和资源文件以创建jar包文件jar:test-jar,利用Maven项目的测试classes文件以

2016-05-02 23:46:19 533

原创 Apache Maven项目提供的EJB插件详解

EJB插件是为了生成JavaEE的EJB组件及其打包jar文件的。goals:·        ejb:ejb - used by Maven for projects with ejb package type.两种用法:1.直接执行mvn ejb:ejb命令。2.在POM中配置如下:这样,在执行mvn package命令时自动生成并打包E

2016-05-01 23:58:02 1299

digital-7 (mono italic).ttf

A file of ttf

2021-07-22

Flex3中文帮助文档

Flex程序员必备,主要介绍ActionScript 3.0的包和类。

2010-02-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除