[备忘]8小时外实战系列之一——Win7下Hibernate4+Java8实战

原创 2015年11月19日 20:01:40

0 引言

本文假设读者已经对Hibernate的应用场景和特点熟悉了。
环境:
Win7 64bit
Java 8
Derby 10.12.11
Hibernate 4.3.11Final

1 Hibernate运行时体系结构1

应用背景:软件三层结构

  • 应用层
  • Session,JDBC,JTA
  • Database

“最小”方案,要求应用程序提供自己的JDBC连接并管理自己的事务。
“完整”方案,将应用层从底层的JDBC/JTAAPI中抽象出来,而让Hibernate来处理这些细节。

实践的目标是“完整”方案,加入Hibernate后的软件五层结构如下:

  • 应用
  • Session,SessionFactory,Transaction
  • Hibernate
  • JDBC
  • Database

2 Database – Derby 10.12

Apach Derby官网下载.zip(国内打开很慢,我用VPN下载只有50kb/s)。
Win7下安装比较简单,解压zip,把解压出来的文件夹下的\bin路径加入系统的环境变量PATH中。
打开cmd,运行Derby自带的命令行程序ij

ij
ij>connect 'jdbc:derby:D:\\!WorkDir\\IDEAWorkspace\\db\\firstdb;create=true';
ij>connect 'jdbc:derby:D:\\!WorkDir\\IDEAWorkspace\\db\\firstdb;create=false';
ij(CONNECT)>CREATE TABLE tFirst(ID INT PRIMARY KEY, NAME VARCHAR(12));
ij(CONNECT)>INSERT INTO tFirst VALUES (10,'TEN'),(20,'TWENTY'),(30,'THIRTY');

建立了数据库firstdb和表tFirst.

Hibernate 4.3.11

用了@Annotation而不是.xml文件来配对实体类和数据库表。要用@Annotation需要导入以下包
\hibernate-release-4.3.11.Final\lib\required\hibernate-jpa-2.1-api-1.0.0.Final.jar

特别提一下,在hibernate 3.X时代,@Annotation是由ejb3-persistence.jar支持的

实体类

import javax.persistence.*;

@Entity
@Table(name="tFirst")
public class Study{
    private int intOld;
    private String strOld;
    @Id
    @GeneratedValue()

配置文件hibernate.cfg.xml

hibernate 4.2 版本与之前的版本比较,有较大不同。

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
</hibernate-configuration>

相关文章推荐

第一章 搭建hibernate4 学习环境 (windows)

要学些hibernate4 首先的搭建它的运行环境和开发环境 1 搭建运行环境:    安装JAVAJDK1.7    安装MAVEN_3 2 开发环境   2.1安装eclipse4.4(nul...

unity3D游戏开发实战原创视频讲座系列11之相扑游戏开发并发布到Win\Wp8

 讲解目录 第一讲 游戏的演示和资源介绍 第二讲 场景的建设 第三讲 玩家的移动 第四讲 对手的AI(让对手动起来) 第五讲 游戏的管理(上) 第六讲 游戏的管理(下) 第七讲 发...

unity3D游戏开发实战原创视频讲座系列11之相扑游戏开发并发布到Win\WP8

讲解目录 第一讲 游戏的演示和资源介绍 第二讲 场景的建设 第三讲 玩家的移动 第四讲 对手的AI(让对手动起来) 第五讲 游戏的管理(上) 第六讲 游戏的管理(下) 第七讲 发布到Win8系统上 第...

8小时外实践系列(三)——玩玩github

一个不会用版本控制的程序员一定不是一个好程序员; 一个用过Perforce,SVN的程序员不一定是一个好程序员; 一个好程序员一定用过git来管理他/她的代码,因为git先进而且免费,你值得拥有!...

微信小程序之自定义模态弹窗(带动画)实例 —— 微信小程序实战系列(8)

首先看看官方提供的模态弹窗 api如下: 示例: 这样的模态弹窗,充其量只能做个alert,提示一下信息。 但是并不能使用它来处理复杂性的弹窗业务,因此写了Michael从新自定义了一个,...

[原]8小时外实践系列之四——从零开始建立一个个人网站

一个没有个人博客的程序员一定不是一个好程序员; 一个用sina博客,qq空间的程序员一定不是一个好程序员; 一个用CSDN,博客园的程序员可能不是一个好程序员; 一个用github pages的...

《网蜂A8实战演练》——4.高级字符驱动

第6章 6.1 Linux 高级字符设备驱动 高级字符设备驱动 学习完第四第五章,是不是感觉字符设备驱动已经没什么新鲜感了,好像感 觉挺简单的, 感觉驱动已经趋向完美了。大家觉得前面的驱动...

Java 8 实战学习——行为参数化

java 8 已经出来和长时间了,作为一个 AndroidDevepler 来说的现在还没有机会在 studio 直接使用 java8 的新特性,但是谷歌官方宣布 AndroidStudio 2.4 ...

开机秒全国99%电脑 实战UEFI安装Win8

作为平板中一大阵营的主力产品,Surface Pro可以说是让大家梦寐以求的。我们喜欢它的外观、它的性能、以及它的快速开机……众所周知,Surface Pro可以说是Windows 8展示各种新特...
  • sdulibh
  • sdulibh
  • 2013年12月23日 11:41
  • 1296

Spring3.2 + SpringMVC + Hibernate4.2 + MySql5 + JQuery1.8 + Tomcat6 + MyEclise8小项目实战

先不多说,上图看效果。(注意:系统正在完善中,部分功能不可用,访问会跳到404)新注册的用户属于普通用户。 在线访问网址:http://v587.jsp.jspee.com.cn/examsystem...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[备忘]8小时外实战系列之一——Win7下Hibernate4+Java8实战
举报原因:
原因补充:

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