关闭

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

标签: hibernate
406人阅读 评论(0) 收藏 举报
分类:

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>
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:286203次
    • 积分:4125
    • 等级:
    • 排名:第7783名
    • 原创:123篇
    • 转载:64篇
    • 译文:7篇
    • 评论:35条
    最新评论