What just happened?
Hibernate configured itself to work with MySQL's
specific features, examined the mapping document for our
Track class, connected to the MySQL server, and
executed the commands necessary to build a database schema for
persisting Track instances.
It's interesting to compare Example 2-11 with Example 2-7. Most of the
output is the same, but there are subtle differences in the SQL used
to actually create the table. This is what Hibernate means by SQL
"dialects."
Back on the server, you can fire up the MySQL client again, and
confirm that the Track mapping schema has been
created.
Example 2-11. Checking the newly created MySQL schema
1 % mysql -u jim -p
2 Enter password:
3 Welcome to the MySQL monitor. Commands end with ; or \g.
4 Your MySQL connection id is 772 to server version: 3.23.44-Max-log
5
6 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
7
8 mysql> USE notebook_db
9 Database changed
10 mysql> SHOW TABLES;
11 +-----------------------+
12 | Tables_in_notebook_db |
13 +-----------------------+
14 | TRACK |
15 +-----------------------+
16 1 row in set (0.03 sec)
17
18 mysql> DESCRIBE TRACK;
19 +----------+--------------+------+-----+---------+----------------+
20 | Field | Type | Null | Key | Default | Extra |
21 +----------+--------------+------+-----+---------+----------------+
22 | TRACK_ID | int(11) | | PRI | NULL | auto_increment |
23 | title | varchar(255) | | | | |
24 | filePath | varchar(255) | | | | |
25 | playTime | time | YES | | NULL | |
26 | added | date | YES | | NULL | |
27 | volume | smallint(6) | YES | | NULL | |
28 +----------+--------------+------+-----+---------+----------------+
29 6 rows in set (0.02 sec)
30
31 mysql> SELECT * FROM TRACK;
32 Empty set (0.00 sec)
33
34 mysql> quit;
35 Bye
It's not surprising to find the table empty.
We'll investigate how to populate it with data in
the first part of Chapter 3.
If you've followed this example and set up a MySQL
database, and you'd prefer to continue working with
it throughout the rest of the book, feel free to do so, but bear in
mind you'll need to know how to look at the results
of the examples yourself. The text will assume
you're still working with HSQLDB, and it will show
you how to check your progress in that context. You will also see
slight differences in the schema, as databases all have slightly
different column types and features. Apart from these minor details,
it really makes no difference what database you're
using — that's part of the appeal of an O/R
mapping layer like Hibernate.
If you do want to switch back to HSQLDB for the ease of following the
discussion, change your hibernate.properties
back to the values shown in Example 2-4.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|