2008-08-26

JPA批注

@Column 默认情况下,JPA 持续性提供程序假设每个实体的持久字段存储在其名称与持久字段的名称相匹配的数据库表列中。 使用 @Column 批注: 将持久字段与其他名称关联(如果默认列名难于处理、与事先存在的数据模型不兼容或作为数据库中的列名无效) 将持久字段与辅助表中的列关联(请参阅 @SecondaryTable ) 微调数据库中列的特征 表 1-7 列出了此批注的属性 。有关更多详细信息,请参阅 API 。 表 1-7 @Column 属性 属性 必需 说明 ...
这部分的内容基本与Hibernate一致.JPA同样支持3种类型的继承形式: 1.Single Table Strategy ,单表策略,一张表包含基类与子类的所有数据,很多情况下都是采用这样的冗余设计,通过一个discriminator来区分 2.Table Per Class Strategy ,每个子类对应一张表,每张表都拥有基类的属性 3.Join Strategy ,仍然是每个子类对应一张表,但此表中不包含基类的属性,仅仅是此子类的扩展属性,共享基类的属性   以一个例子来说明3种情况: 一.单表策略 比如Pet作为基类,Cat和D ...
2008-08-26

JPA

2006 年夏天发布的 EJB 3.0 规范提供了一个大大简化但功能更为强大的 EJB 框架,该框架演示了批注与传统 EJB 2.x 部署描述符相比的显著优势。J2SE 5.0 中引入的批注是修饰符,可以在类、字段、方法、参数、本地变量、构造符、枚举和程序包中使用。大量 EJB 3.0 新特性中都强调了批注的使用,这些特性包括:基于普通旧式 Java 对象的 EJB 类、EJB 管理器类的相关性注入、引入可以拦截其他业务方法调用的拦截器或方法,以及显著增强的 Java 持久性 API (JPA) 等。 为了说明 JPA 的概念,我们来看一个实际示例。最近,我的办公室需要实施税务登记系统。与 ...
MockObjects的选择:EasyMock与JMock的比较 本文假设读者已经了解了MockObjects的使用目的和基本方式,不对MockTest之类的技术作过多解释。仅提醒一句:“不要测试你的MockObjects”。 本文作为一个评测结果的同时,也可以作为EasyMock和jMock的简短教程。他们本身都很易用,可惜带的示例过于复杂,都用了过多的模式。看过本文的例子,相信就可以从容的在项目中使用了。 Java中常用的MockObjects有EasyMock和jMock等。其中EasyMock开发较早,已经出了1.1版本,而jMock前几天才刚推出了1.0 final。作为刚成熟的小 ...
  • 10:53
  • 浏览 (29)
  • 评论 (0)
Ant 构建文件build.xml 每个Ant构建文件由单个project元素组成,该元素又包含一个或多个target元素。顶级project元素需要包含一个default属性, 如果在Ant被调用时没有指定目标,这个属性将指定要执行的目标。然后需要使用target元素来定义该目标本身。下面是一个基本 的Ant构建文件: <?xml version = "1.0"?> <project default="init" name="Project Student"> <target name="init" description="Initialize Student ...
  • 15:22
  • 浏览 (119)
  • 评论 (0)
1.出了什么问题?       单元测试的目标是一次只验证一个方法,小步的前进,细粒度的测试,但是假如某个方法依赖于其他一些难以操控的东东,比如说网络连接,数据库连接,或者是Servlet容器,那么我们该怎么办呢?       要是你的测试依赖于系统的其他部分,甚至是系统的多个其他部分呢?在这种情况下,倘若不小心,你最终可能会发现自己几乎初始化了系统的每个组件,而这只是 为了给一个测试创造足够的运行环境让它们可以运行起来。忙乎了大半天,看上去我们好像有点违背了测试的初衷了。这样不仅仅消耗 ...
  • 14:44
  • 浏览 (50)
  • 评论 (0)
JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0。这说明Java已经有大幅度的变化。本文将讲解JDK5.0支持的新功能-----Java的泛型 .   1、Java泛型   其实Java的泛型就是创建一个用类型作为参数的类。就象我们写类的方法一样,方法是这样的method (String str1,String str2 ),方法中参数str1、str2的值是可变的。而泛型也是一样的,这样写class Java_Generics<K,V>,这里边的K和V就象方法中的参数str1和str2,也是可变。下面看看例子: //code ...
  • 16:11
  • 浏览 (53)
  • 评论 (0)
尽管Struts框架提供了有效的异常处理机制,但不能保证处理所有的错误,这时Struts框架会把错误抛给Web容器,在默认情况下Web容器会向用户浏览器直接返回原始信息。如果想避免直接让用户看到这些原始信息,可以在web.xml中配置<error-page>元素,以下代码演示了如何避免用户看到HTTP 404、HTTP 500错误和Exception异常。 web.xml <error-page> <error-code>404</error-code> <location>/exception/error404.jsp</loca ...
  • 13:41
  • 浏览 (214)
  • 评论 (0)
理解Hibernate的架构   当你想用Hibernate开发自己的基于持久层的应用时,第一件 事情应当是熟悉它的编程接口。Hibernate的API接口设计得尽量简洁明了,以方便开发人员。然而实际上由于ORM的复杂性,它的API一般都不可 能设计得很简单。但是别担心,你没有必要一下子了解所有的Hibernate的API接口。下面这张图描述了Hibernate在应用层和持久层中的一些 重要的接口类:   在上图中,我们将应用层放在了持久层的上部,实际上在传统的项目中,应用层充当着持久层的一个客户端角色。但对于一些简单的项目来说,应 ...
  • 14:16
  • 浏览 (78)
  • 评论 (0)
本人是一个EL(Expression Language,以下译为表达式语言)的支持者。因为我对<% %>写法极为反感,忘记了在那本书上看到的一句话——“使用标志(Tag)的一个目的就是避免在JSP页面中出现过多的<%%>的语句,使页面与后台代码分离。” 表达式语言主要有以下几大好处: 避免(MyType) request.getAttribute() 和myBean.getMyProperty() 之类的语句,使页面更简洁; 支持运算符(如+-*/),比普通的标志具有更高的自由度和更强的功能; ...
  • 11:18
  • 浏览 (72)
  • 评论 (0)
neil-jh
搜索本博客
博客分类
我的相册
23180809-23d5-303b-bc87-31754da62d7d-thumb
水中摄影
共 4 张
最近加入圈子
存档
最新评论