本文详细介绍第一个成功的Hibernate实例01
一、创建数据库(使用B)
A. 我的原数据库设计
--create database for restruant management system
USE master
DROP DATABASE RMSDB
CREATE DATABASE RMSDB
GO
USE RMSDB
--create base tables
DROP TABLE Houses
CREATE TABLE Houses
(
HID int IDENTITY(1,1) PRIMARY KEY,
--房间编号
alias varchar(20),
--房间的别称
description varchar(100),
--房间的描述
capity int NOT NULL
--房间的旅客容量
)
DROP TABLE Menus
CREATE TABLE Menus
(
MID int IDENTITY(1,1) PRIMARY KEY,
--菜单编号
mName varchar(20) NOT NULL,
--菜单名称
price float NOT NULL
--菜单价格
)
DROP TABLE Tables
CREATE TABLE Tables
(
TID int IDENTITY(1,1) PRIMARY KEY,
tAlias varchar(20)
)
DROP TABLE Customers
CREATE TABLE Customers
(
CID char(20) PRIMARY KEY,
cName varchar(20),
cAddress varchar(40),
cPhone varchar(20)
)
DROP TABLE Staffs
CREATE TABLE Staffs
(
SID VARCHAR(6) PRIMARY KEY,
username VARCHAR(20) NOT NULL,
password VARCHAR(20) NOT NULL,
sName VARCHAR(20) NOT NULL,
address VARCHAR(40),
phone VARCHAR(20),
sPosition VARCHAR(20)
--position including manager or common staffs
)
DROP TABLE Notice
CREATE TABLE Notice
(
NID int IDENTITY(1,1) PRIMARY KEY,
title NCHAR(20) NOT NULL,
content NCHAR(200)
)
GO
B. 修改后的数据库设计
注意:去掉了所有的IDENTITY(1,1),也就是在SQL Server上不让键自动增长,而这一功能将在以后的Mapping中由Hibernate 实现,在 Hibernate 中有很多种主键的生成算法
--create database for restruant management system
USE master
DROP DATABASE RMSDB
CREATE DATABASE RMSDB
GO
USE RMSDB
--create base tables
DROP TABLE Houses
CREATE TABLE Houses
(
HID INT PRIMARY KEY,
--房间编号
alias VARCHAR(20),
--房间的别称
description VARCHAR(100),
--房间的描述
capity INT NOT NULL
--房间的旅客容量
)
DROP TABLE Menus
CREATE TABLE Menus
(
MID INT PRIMARY KEY,
--菜单编号
mName VARCHAR(20) NOT NULL,
--菜单名称
price FLOAT NOT NULL
--菜单价格
)
DROP TABLE Tables
CREATE TABLE Tables
(
TID INT PRIMARY KEY,
tAlias VARCHAR(20)
)
DROP TABLE Customers
CREATE TABLE Customers
(
CID VARCHAR(20) PRIMARY KEY,
cName VARCHAR(20),
cAddress VARCHAR(40),
cPhone VARCHAR(20)
)
DROP TABLE Staffs
CREATE TABLE Staffs
(
SID VARCHAR(6) PRIMARY KEY,
username VARCHAR(20) NOT NULL,
password VARCHAR(20) NOT NULL,
sName VARCHAR(20) NOT NULL,
address VARCHAR(40),
phone VARCHAR(20),
sPosition VARCHAR(20)
--position including manager or common staffs
)
DROP TABLE Notice
CREATE TABLE Notice
(
NID INT PRIMARY KEY,
title VARCHAR(20) NOT NULL,
content VARCHAR(200)
)
GO
责编:豆豆技术应用
- Java新闻
- Java入门教程
- Java开发工具
- J2EE
- J2SE
- J2ME
- EJB/Spring
- Applet/Swing
- Servlet/JSP
- Struts/Hibernate
- JDBC/JDO
- Ajax
- 认证考试
- JAVA对象比较器Comparator
- Java 6 RowSet 使用完全剖析
- 深入了解"Java"中的“异常机制”
- 讨论5种跟踪Java执行的方法
- Java专业术语标准化规范
- java中线程概念描述
- JAVA中的反射机制详解
- Java语言灵巧指针与垃圾回收
- 讲述java语言中内部类的研究
- Java对于Cookie的操作详解