02 2011 档案

摘要:摘要: Subversion是越来越被广泛使用的版本管理工具,使用Ant脚本从Subversion获取代码,实现Daily Build。 1.Subversion概述 先引用Version Control with Subversion 中开头的话: “If C gives you enough rope to hang yourself, think of Subversion as a sor... 阅读全文
posted @ 2011-02-20 11:25 seed_lee 阅读(666) 评论(0) 推荐(0)
摘要:ANT使用指南 第一章入门 本教程所讲述的内容 在本教程中,您将学习 Ant 这个 Java TM项目生成工具。由于其灵活性和易用性, Ant 很快在 Java 开发人员中流行开来,因此您有必要了解关于它的更多信息。 在继续学习本教程之前,你不需要具备先前的 Ant 经验或知识。我们将首先查看 Ant 生成文件 (build file)的基本结构,并学习如何调用这个工具。我们将逐步完成为一个简单 ... 阅读全文
posted @ 2011-02-19 12:15 seed_lee 阅读(3517) 评论(0) 推荐(0)
摘要:当有时候可能会在开发的过程中,生成了一个类,这个时候想让它映射成为数据库的一张表,但是又不想让数据库中立刻生成这张表,只是想看下生成的sql语句,这个时候就可以使用hibernate提供的一个类:org.hibernate.tool.hbm2ddl.SchemaExport这个类。 查看这个类的api可以看到,里面就有create方法,drop方法等。 这个类的用法很简单,如下的片段: Sc... 阅读全文
posted @ 2011-02-16 21:41 seed_lee 阅读(783) 评论(0) 推荐(0)
摘要:ThreadLocal,实现安全的多线程 我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突。 我们使用模板类访问底层数据,根据持久化技术的不同,模板类需要绑定数据连接或会话的资源。但这些资源本身是非线程安全的,也就是说它们不能在同一时刻被多个线程共享。 虽然模板类通过资源池获取数... 阅读全文
posted @ 2011-02-16 10:27 seed_lee 阅读(1517) 评论(0) 推荐(0)
摘要:log4j的默认的配置文件为Log4j.properties,但是,如果这个配置文件为了方便管理,而放在了项目的其他位置,或者是修改了配置文件的默认文件名,这个时候就可以使用指定log4j的配置文件的一种方式, 具体如下: 如果我的项目的文件管理如下图,也就是在编译完以后虽然是在classpath下,但是,log4j的配置文件不在默认指定的位置,   如果是web项目,则可以初始化... 阅读全文
posted @ 2011-02-16 10:20 seed_lee 阅读(3508) 评论(0) 推荐(0)
摘要:在hibernate中,在使用其update()方法的时候,会发出一条update语句,而这条语句中,hibernate会更新所有的字段,不管程序员想不想更新所有的字段,hibernate发出的sql例句如下: Hibernate:     update         Peopel  ... 阅读全文
posted @ 2011-02-15 22:58 seed_lee 阅读(24804) 评论(0) 推荐(0)
摘要:这次我们来谈一下Hibernate3.2 Session加载数据时get和load方法的区别(Hibernate 3以后的版本就用get()方法取代find()这个方法了),其实这个在网上有很多的论述,可大多语焉不详或经不起实践的推敲,让很多初学者学的满腹疑窦,现在我给大家讲解一下: 1. 对于Hibernate get方法,Hibernate会确认一下该id对应的数据是否存在,首先在sessi... 阅读全文
posted @ 2011-02-15 21:48 seed_lee 阅读(555) 评论(0) 推荐(0)
摘要:Session在加载实体对象时,将经过的过程: 首先,Hibernate中维持了两级缓存。第一级缓存由Session实例维护,其中保持了Session当前所有关联实体的数据,也称为内部缓存。而第二级缓存则存在于SessionFactory层次,由当前所有由本SessionFactory构造的Session实例共享。出于性能考虑,避免无谓的数据库访问,Session在调用数据库查询功能之前,会先在缓... 阅读全文
posted @ 2011-02-15 21:44 seed_lee 阅读(1822) 评论(0) 推荐(0)
摘要:  1 getCurrentSession创建的session会和绑定到当前线程,而openSession不会。 2 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭 这里getCurrentSession本地事务(本地事务:jdbc)时 要在配置文件里进行如下设置     * 如果使用的是... 阅读全文
posted @ 2011-02-15 21:20 seed_lee 阅读(14157) 评论(0) 推荐(1)
摘要: 阅读全文
posted @ 2011-02-15 21:06 seed_lee 阅读(660) 评论(0) 推荐(0)
摘要:  Hibernate的对象有3种状态,分别为:瞬时态(Transient)、持久态(Persistent)、脱管态(Detached).处于持久态的对象也称为PO(PersistenceObject),瞬时对象和脱管对象也称为VO(ValueObject). 瞬时态 由new命令开辟内存空间的java对象, eg.Person person=new Person("xi... 阅读全文
posted @ 2011-02-15 20:58 seed_lee 阅读(212) 评论(0) 推荐(0)
摘要:异常信息: No CurrentSessionContext configured!   解决方法: 在hibernate.cfg.xml文件中的sessionFactory的配置节点中配置如下一段 <property name="current_session_context_class">thread</property> 阅读全文
posted @ 2011-02-15 19:55 seed_lee 阅读(844) 评论(0) 推荐(0)
摘要:hibernate默认的配置文件时hibernate.cfg.xml文件,但是如果修改了配置文件,不做处理, 则 Configuration().configure().buildSessionFactory();的方式去解析hibernate.cfg.xml,则会报 org.hibernate.HibernateException: /hibernate.cfg.xml not found... 阅读全文
posted @ 2011-02-15 19:26 seed_lee 阅读(1921) 评论(0) 推荐(0)
摘要:这里记录hibernate中组合主键的annotation方式。 hibernate-annotations说明文档中有说到组合主键使用annotation的方式实现,如下几种 下面是定义组合主键的几种语法: 1.  将组件类注解为@Embeddable,并将组件的属性注解为@Id 2.  将组件的属性注解为@EmbeddedId 3.  将类注解为@IdCla... 阅读全文
posted @ 2011-02-15 19:12 seed_lee 阅读(8280) 评论(0) 推荐(1)
摘要:如果数据库中用多个字段而不仅仅是一个字段作为主键,也就是联合主键,这个时候就可以使用hibernate提供的联合主键生成策略。 具体如下: 可以使用一个组件作为一个实体类的标识符。你的组件类必须满足以下要求: 它必须实现 java.io.Serializable 接口 它必须重新实现 equals() 和 hashCode() 方法,始终和组合关键字在数据库中的概念保持一致 注意:在 Hibe... 阅读全文
posted @ 2011-02-14 23:50 seed_lee 阅读(6101) 评论(0) 推荐(0)
摘要:记录hibernate中使用annotation的方式实现主键生成策略: 一般情况下,hibernate中使用annotation的主键生成策略,都是使用annotation的标准注解(javax.persistence.GeneratedValue),而不是使用hibernate的扩展的annotation方式,当然,使用也是没有错的,推荐使用标准的annotation。 标准的annota... 阅读全文
posted @ 2011-02-14 22:15 seed_lee 阅读(59413) 评论(0) 推荐(3)
摘要:      hibernate3 自带的默认的日志框架是slf4j,hibernate3的slf只是一个日志的接口,而hibernate3 自带默认的日志框架,在实际开发中很少有公司或者是项目中用到,这里记录一种使用log4j的日志框架来代替slf4j日志框架的实现,具体配置以及实现如下: 一.加入log4j的日志框架 说明:1. &#... 阅读全文
posted @ 2011-02-14 20:50 seed_lee 阅读(3689) 评论(0) 推荐(0)
摘要:一、 用户需求实现 UNIX 和 WINDOWS下面Oracle 数据库数据的同步. 使数据库实现数据同步,保持它们的数据一致.并且两边的数据库能正常使用.二 解决方案采用PlusWell Data Replication 软件可以实现这个功能.方案架构图如下 在服务器上同时安装PDR软件,数据通过网络传递.服务器可以是在局域网中,也可以在互连网中,都可以实现这个功能.客户服务器在丽江,昆明距离较远.建议采用异步同步方式.网络的联结问题有两种方式1. 路由方式特点: 简单 .但是安全性较低,且速度会很慢.2. VPN 方式特点 : 速度快 安全性较高,建议采用VPN 方式三 PAR 软件的介绍 阅读全文
posted @ 2011-02-13 12:01 seed_lee 阅读(1666) 评论(0) 推荐(0)
摘要:数据库同步有很多方法,这里不讨论了,我这里只针对异构数据库.那什么是异构数据库呢,我们先看下定义(引用)异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的DMBS。异构数据库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。异构数据库系统的异构性主要体现在以下几个方面:计算机体系结构的异构各个参与的数据库可以分别运行在大型机、小型机、工作站、PC或嵌入式系统中。基础操作系统的异构各个数据库系统的基础操作系统可以是Unix、Windows NT、 阅读全文
posted @ 2011-02-13 11:59 seed_lee 阅读(3987) 评论(0) 推荐(0)