随笔分类 -  J2ee

摘要:JPA(Java Persistence API,Java持久化API),定义了对象-关系映射(ORM)以及实体对象持久化的标准接口。JPA是JSR-220(EJB3.0)规范的一部分,在JSR-220中规定实体对象(EntityBean)由JPA进行支持。所以JPA不局限于EJB3.0,而是作为POJO持久化的标准规范,可以脱离容器独立运行,开发和测试更加方便。下面通过一张图来看一下JPA的基本概念。然后再做简要分析。注:不是真正意义的UML图啊,只是画着方便就用rose了。一、EntityManager,EntityManagerFactory,PersistenceContext三者的关 阅读全文
posted @ 2013-05-30 08:39 java程序员填空 阅读(227) 评论(0) 推荐(0)
摘要:一、为什么使用ANT当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java 中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。概念到处都是,随处可查。ant就是一个构建工具,又不局限于构建。什么是构建?形象来说,就是把代码从某个地方拿来,编译,再拷贝到某个地方去运行等等操作。什么叫不局限于构建?ant主要用来做 阅读全文
posted @ 2013-05-20 09:11 java程序员填空 阅读(158) 评论(0) 推荐(0)
摘要:Win7(64) + eclipse(64)+ tomcat7(64)+ jdk7(64)开发环境配置一直开发都是用myeclipse,这次尝试了一下eclipse,并且开发工具全部采用最新版本,配置的时候出现了各种各样的问题,总算总结出一个标准步骤,和大家分享一下。一、到官网下载文件,全部选择for window 64位最新版本二、安装配置1、解压apache-tomcat-7.0.39-windows-x64,版本:tomcat7 for windows 64位,配置环境变量JAVA_HOME,值为tomcat安装目录,并将%JAVA_HOME%/bin加到系统变量path下;2、安装jd 阅读全文
posted @ 2013-04-25 09:41 java程序员填空 阅读(183) 评论(0) 推荐(0)
摘要:java项目概览:XmlManage.javapackage com.jialin;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;imp 阅读全文
posted @ 2013-04-22 08:24 java程序员填空 阅读(203) 评论(0) 推荐(0)
摘要:什么是AOP?AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面编程。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。为什么使用AOP?将通用需求功能从不相关类之中分离出来;同时,能够使得很多类共享一个行为,一旦行为发生变化,不必修改很多类,只要修改这个行为就可以。我们把这种行为称为"分散关注" AOP就是这种实现分散关注的编程方法,它将“关注”封装在“方面”中。AOP的本质可以理解为"动态代理模式",想想代理模式的作用就更容易理解 阅读全文
posted @ 2013-04-18 13:04 java程序员填空 阅读(168) 评论(0) 推荐(0)
摘要:Lazy:延迟加载,在真正使用某个对象的时候才正真的去创建,即hibernate才会正真的发出sql语句去加载该对象Lazy的有效期:只有在session打开的时候才有效;session关闭后lazy就没效了。lazy策略可以用在:1、 <class>标签上:可以取值true/false* <property>标签上,可以取值true/false,这个特性需要类增强(不常用)* 设置<class>标签中的lazy="true",或是保持默认(即不配置lazy属性)* 如果lazy的属性值为true,那么在使用load方法加载数据时,只有确 阅读全文
posted @ 2013-04-15 14:10 java程序员填空 阅读(162) 评论(0) 推荐(0)
摘要:性能优化是一个很大的话题,大到程序架构优化,数据库设计等,小到一个特定算法,甚至js优化等等。这里我们只简单谈一下hibernate的性能优化。在使用Hibernate的时候,通过正确的方法和策略,可以提高执行效率。(一)抓取策略抓取策略(fetching strategy)是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略。抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL 或条件查询(Criteria Query)中重载声明。例如单端代理,集合代理,批量抓取等设置方式通常为*fetch="join 阅读全文
posted @ 2013-04-13 20:15 java程序员填空 阅读(123) 评论(0) 推荐(0)
摘要:集合映射主要包括:set、list、array、map的映射对象模型:映射后的关系模型:映射文件:<hibernate-mapping> <class name="com.jialin.hibernate.CollectionMapping" table="t_collection_mapping"> <id name="id"> <generator class="native"/> </id> <property name="name& 阅读全文
posted @ 2013-04-12 16:04 java程序员填空 阅读(158) 评论(0) 推荐(0)
摘要:Component映射在hibernate中Component映射采用<component>标签即可Component是某个实体的逻辑组成部分,它与实体类的主要差别在于,它没有oidComponent在DDD中被称为值类采用Component的好处:实现对象模型的细粒度划分,复用率高,含义明确,层次分明对象模型与关系模型的设计恰恰相反,对象模型一般是细粒度的,关系模型一般是粗粒度的示例:对象模型:关系模型:映射文件:Employee.hbm.xml<hibernate-mapping> <class name="com.jialin.hibernate. 阅读全文
posted @ 2013-04-10 16:44 java程序员填空 阅读(161) 评论(0) 推荐(0)
摘要:对象模型示例:继承映射的实现方式有三种:(一)每棵类继承树一张表关系模型:映射文件:<hibernate-mapping package="com.jialin.hibernate"> <class name="Animal" table="t_animal" lazy="false"> <id name="id"> <generator class="native"/> </id> <discriminato 阅读全文
posted @ 2013-04-09 16:05 java程序员填空 阅读(165) 评论(0) 推荐(0)
摘要:单向多对多关联映射单向多对多关联对象模型:映射后的关系模型:多对多映射,会产生第三张表来维护关系映射文件:User.hbm.xml<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package=& 阅读全文
posted @ 2013-04-07 17:02 java程序员填空 阅读(85) 评论(0) 推荐(0)
摘要:单向一对多关联映射映射后的关系模型:映射文件:一对多关联映射和多对一关联映射映射原理是一致的,都是在多的一端加入一个外键,指向一的一端它们的区别在于维护的关系不同:* 多对一维护的关系是:多指向一的关系,有了此关系,在加载多的时候可以将一加载上来* 一对多维护的关系是:一指向多的关系,有了此关系,在加载一的时候可以将多加载上来Group.hbm.xml<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN 阅读全文
posted @ 2013-04-06 10:01 java程序员填空 阅读(150) 评论(0) 推荐(0)
摘要:双向一对一关联映射与单向一对一关联映射一样,双向映射依然可以采用两种方式实现:1、主键关联;2、唯一外键关联1、主键关联映射出的关系模型与单向一样:映射文件与单向的区别在于:需要在Card加入<one-to-one>标签,指示hibernate将关联对象User根据主键加载上来。<one-to-one>不影响存储,只影响加载User.hbm.xml<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping D 阅读全文
posted @ 2013-04-06 10:00 java程序员填空 阅读(135) 评论(0) 推荐(0)
摘要:上篇中谈了Hibernate的基本映射,这篇开始谈Hibernate的关系映射。关系映射主要包括以下几种映射:我们先从多对一关联映射开始。多对一关联映射原理:在多的一端加入一个外键,指向一的一端,如下图:根据对象模型书写映射文件:在多的一端采用如下标签映射:<many-to-one name="group" column="groupid"/>User.hbm.xml<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hiber 阅读全文
posted @ 2013-04-05 07:46 java程序员填空 阅读(118) 评论(0) 推荐(0)
摘要:单向一对一关联映射有两种方式实现一对一关联映射:1、主键关联:让两个实体的主键一样,即让两个对象具有相同的主键值,以表明它们之间的一一对应的关系;数据库表不会有多余的字段来维护它们之间的关系,仅通过表的主键来关联。映射后的关系模型:映射文件:User.hbm.xml<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.ne 阅读全文
posted @ 2013-04-05 07:46 java程序员填空 阅读(134) 评论(0) 推荐(0)

点击右上角即可分享
微信分享提示