Implemented SWS-83: airline sample now uses HSQLDB in memory to test.
Also using Maven2 profiles for the various database settings.
This commit is contained in:
@@ -1 +0,0 @@
|
||||
DROP DATABASE IF EXISTS airline;
|
||||
@@ -1,6 +0,0 @@
|
||||
DROP TABLE FREQUENT_FLYER;
|
||||
DROP TABLE PASSENGER_TICKET;
|
||||
DROP TABLE PASSENGER;
|
||||
DROP TABLE TICKET;
|
||||
DROP TABLE FLIGHT;
|
||||
DROP TABLE AIRPORT;
|
||||
@@ -1,8 +1,6 @@
|
||||
# Properties file with hibernate-related settings.
|
||||
|
||||
#hibernate.dialect=org.hibernate.dialect.HSQLDialect
|
||||
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
|
||||
#hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
|
||||
hibernate.dialect=${hibernate.dialect}
|
||||
hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
|
||||
#hibernate.hbm2ddl.auto=create-drop
|
||||
#hibernate.show_sql=true
|
||||
|
||||
@@ -1,14 +1,4 @@
|
||||
#jdbc.driverClassName=org.hsqldb.jdbcDriver
|
||||
#jdbc.username=sa
|
||||
#jdbc.password=
|
||||
#jdbc.url=jdbc:hsqldb:mem:airline
|
||||
|
||||
jdbc.driverClassName=com.mysql.jdbc.Driver
|
||||
jdbc.username=airline
|
||||
jdbc.password=airline
|
||||
jdbc.url=jdbc:mysql://localhost/airline
|
||||
|
||||
#jdbc.driverClassName=org.postgresql.Driver
|
||||
#jdbc.username=airline
|
||||
#jdbc.password=airline
|
||||
#jdbc.url=jdbc:postgresql://localhost/airline
|
||||
jdbc.driverClassName=${jdbc.driverClassName}
|
||||
jdbc.username=${jdbc.username}
|
||||
jdbc.password=${jdbc.password}
|
||||
jdbc.url=${jdbc.url}
|
||||
61
samples/airline/src/main/sql/hsqldb/airline-schema.sql
Normal file
61
samples/airline/src/main/sql/hsqldb/airline-schema.sql
Normal file
@@ -0,0 +1,61 @@
|
||||
DROP TABLE FREQUENT_FLYER IF EXISTS;
|
||||
DROP TABLE PASSENGER_TICKET IF EXISTS;
|
||||
DROP TABLE PASSENGER IF EXISTS;
|
||||
DROP TABLE TICKET IF EXISTS;
|
||||
DROP TABLE FLIGHT IF EXISTS;
|
||||
DROP TABLE AIRPORT IF EXISTS;
|
||||
|
||||
CREATE TABLE AIRPORT (
|
||||
CODE char(3) NOT NULL,
|
||||
NAME varchar(20) NOT NULL,
|
||||
CITY varchar(255) NOT NULL,
|
||||
PRIMARY KEY (CODE)
|
||||
);
|
||||
|
||||
CREATE TABLE FLIGHT (
|
||||
ID BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH 1),
|
||||
NUMBER VARCHAR(20) NOT NULL,
|
||||
DEPARTURE_TIME TIMESTAMP NOT NULL,
|
||||
FROM_AIRPORT_CODE CHAR(3) NOT NULL,
|
||||
ARRIVAL_TIME TIMESTAMP NOT NULL,
|
||||
TO_AIRPORT_CODE CHAR(3) NOT NULL,
|
||||
SEATS_AVAILABLE INT NOT NULL,
|
||||
SERVICE_CLASS VARCHAR(10) NOT NULL,
|
||||
MILES INT NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
UNIQUE (NUMBER, DEPARTURE_TIME),
|
||||
CONSTRAINT FK_FLIGHT_AIRPORT_FROM FOREIGN KEY (FROM_AIRPORT_CODE) REFERENCES AIRPORT,
|
||||
CONSTRAINT FK_FLIGHT_AIRPORT_TO FOREIGN KEY (TO_AIRPORT_CODE) REFERENCES AIRPORT
|
||||
);
|
||||
|
||||
CREATE TABLE TICKET (
|
||||
ID BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH 1),
|
||||
ISSUE_DATE DATE NOT NULL,
|
||||
FLIGHT_ID BIGINT NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT FK_TICKET_FLIGHT FOREIGN KEY (FLIGHT_ID) REFERENCES FLIGHT
|
||||
);
|
||||
|
||||
CREATE TABLE PASSENGER (
|
||||
ID BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH 1),
|
||||
FIRST_NAME VARCHAR(30),
|
||||
LAST_NAME VARCHAR(30),
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
CREATE TABLE PASSENGER_TICKET (
|
||||
TICKET_ID BIGINT NOT NULL,
|
||||
PASSENGER_ID BIGINT NOT NULL,
|
||||
PRIMARY KEY (TICKET_ID, PASSENGER_ID),
|
||||
CONSTRAINT PASSENGER_TICKET_TICKET FOREIGN KEY (TICKET_ID) REFERENCES TICKET,
|
||||
CONSTRAINT PASSENGER_TICKET_PASSENGER FOREIGN KEY (PASSENGER_ID) REFERENCES PASSENGER
|
||||
);
|
||||
|
||||
CREATE TABLE FREQUENT_FLYER (
|
||||
PASSENGER_ID BIGINT NOT NULL,
|
||||
MILES INTEGER,
|
||||
PASSWORD VARCHAR(255),
|
||||
USERNAME VARCHAR(255),
|
||||
PRIMARY KEY (PASSENGER_ID),
|
||||
CONSTRAINT FREQUENT_FLYER_PASSENGER FOREIGN KEY (PASSENGER_ID) REFERENCES PASSENGER
|
||||
)
|
||||
@@ -1,14 +1,17 @@
|
||||
CREATE DATABASE IF NOT EXISTS airline;
|
||||
USE AIRLINE;
|
||||
|
||||
GRANT ALL ON airline.* TO airline@localhost IDENTIFIED BY 'airline';
|
||||
|
||||
USE airline;
|
||||
DROP TABLE IF EXISTS FREQUENT_FLYER;
|
||||
DROP TABLE IF EXISTS PASSENGER_TICKET;
|
||||
DROP TABLE IF EXISTS PASSENGER;
|
||||
DROP TABLE IF EXISTS TICKET;
|
||||
DROP TABLE IF EXISTS FLIGHT;
|
||||
DROP TABLE IF EXISTS AIRPORT;
|
||||
|
||||
CREATE TABLE AIRPORT (
|
||||
CODE CHAR(3) NOT NULL PRIMARY KEY,
|
||||
NAME VARCHAR(20) NOT NULL,
|
||||
CITY VARCHAR(20) NOT NULL
|
||||
);
|
||||
) TYPE=INNODB;
|
||||
|
||||
CREATE TABLE FLIGHT (
|
||||
ID INT(4) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
@@ -21,24 +24,24 @@ CREATE TABLE FLIGHT (
|
||||
SEATS_AVAILABLE INT(4) UNSIGNED NOT NULL,
|
||||
MILES INT(4) UNSIGNED NOT NULL,
|
||||
UNIQUE KEY IDX_NUMBER_DEPARTURE_TIME (NUMBER, DEPARTURE_TIME)
|
||||
);
|
||||
) TYPE=INNODB;
|
||||
|
||||
CREATE TABLE TICKET (
|
||||
ID INT(4) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
ISSUE_DATE DATE NOT NULL,
|
||||
FLIGHT_ID INT(4) UNSIGNED NOT NULL REFERENCES FLIGHT(ID)
|
||||
);
|
||||
) TYPE=INNODB;
|
||||
|
||||
CREATE TABLE PASSENGER (
|
||||
ID INT(4) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
FIRST_NAME VARCHAR(30),
|
||||
LAST_NAME VARCHAR(30)
|
||||
);
|
||||
) TYPE=INNODB;
|
||||
|
||||
CREATE TABLE PASSENGER_TICKET (
|
||||
PASSENGER_ID INT(4) UNSIGNED NOT NULL REFERENCES PASSENGER(ID),
|
||||
TICKET_ID INT(4) UNSIGNED NOT NULL REFERENCES TICKET(ID)
|
||||
);
|
||||
) TYPE=INNODB;
|
||||
|
||||
CREATE TABLE FREQUENT_FLYER (
|
||||
PASSENGER_ID INT(4) UNSIGNED NOT NULL PRIMARY KEY REFERENCES PASSENGER(ID),
|
||||
@@ -46,7 +49,7 @@ CREATE TABLE FREQUENT_FLYER (
|
||||
PASSWORD VARCHAR(10) NOT NULL,
|
||||
MILES INT(4) UNSIGNED NOT NULL,
|
||||
UNIQUE KEY IDX_USERNAME (USERNAME)
|
||||
);
|
||||
) TYPE=INNODB;
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
CREATE DATABASE airline;
|
||||
GRANT ALL ON DATABASE airline to airline;
|
||||
DROP TABLE FREQUENT_FLYER;
|
||||
DROP TABLE PASSENGER_TICKET;
|
||||
DROP TABLE PASSENGER;
|
||||
DROP TABLE TICKET;
|
||||
DROP TABLE FLIGHT;
|
||||
DROP TABLE AIRPORT;
|
||||
|
||||
CREATE TABLE AIRPORT (
|
||||
CODE CHAR(3) NOT NULL PRIMARY KEY,
|
||||
@@ -0,0 +1,6 @@
|
||||
# Test-specific settings for the DAO layer
|
||||
# Uses an in-memory HSQL database
|
||||
|
||||
hibernate.dialect=org.hibernate.dialect.HSQLDialect
|
||||
hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
|
||||
hibernate.hbm2ddl.auto=create-drop
|
||||
@@ -0,0 +1,7 @@
|
||||
# Test-specific settings for the DAO layer
|
||||
# Uses an in-memory HSQL database
|
||||
|
||||
jdbc.driverClassName=org.hsqldb.jdbcDriver
|
||||
jdbc.username=sa
|
||||
jdbc.password=
|
||||
jdbc.url=jdbc:hsqldb:mem:airline
|
||||
Reference in New Issue
Block a user