����E�A�Z�p�҃R�~���j�e�B��Java����̋���ƌ[�ւɒ��N�g����Ă����M�҂��A�Ǝ��̎��_����Java�̖ʔ������@�艺���Ă����B�i�ҏW���j
�@Java2 SE 1.4��Java SE 5�̊Ԃɂ́A�@�\��������߂������߁A����œ������ł����ɁA����܂ňڍs���������Ă����ǎ҂��������Ƃł��傤�B�������A�����Java SE 6�i�J���R�[�h���FMustang�j�̓o��ŁA���낻�� Java2 SE 1.4 ���� Java SE 5 �������� 6 �ֈڍs���Ă����������ɂȂ�܂����BJava SE 5 ���o�ꂵ���Ƃ��قǂ̋@�\�lj��͂���܂��AJava SE 6 �ɂ����ڂ̋@�\������������܂��B
�@����́A���ړx�������p�[�V�X�e���X�i�i�����j�ɊW������̂ɂ��ďЉ�܂��傤�B�������A�{�e���M���_�i2006�N12��5���j�ł�Java SE 6��RC�iRelease Candidate�j�łł��̂ŁA�����[�X�łł͈���Ă���_�����邩������܂���B���炩���߂��������������B
�@�p�[�V�X�e���X�ɂ悭���p�����̂́A�����[�V���i���f�[�^�x�[�X�iRDB�j�ł��BJDK5�܂ł�RDB��ʓr�p�ӂ���K�v���������̂ŁA����p�ӂ���̂ɂ�������Ƃ�����Ԃ��|����܂����B�@����̌���ł́A�w���������̃p�\�R���Ŏ��K�ł���悤�ɃI�[�v���\�[�X��RDB�Ȃǂ��Љ�邱�Ƃ������ł����A�C���X�g�[���Ɏ�Ԃ��|��������A���ݒ肪������Ɠ�������肷��ƁA�̐S��RDB���g���Ƃ���܂ł����Ȃ��Ƃ������ƂɂȂ��Ă��܂����Ƃ�����܂��B�I�[�v���\�[�X��RDB�͑��UNIX�nOS�p�ɊJ������Ă������̂������̂ŁALinux�ł���ŏ��ɑS���̃p�b�P�[�W��I�����ăC���X�g�[������ΊȒP�ɗp�ӂ��邱�Ƃ��ł��܂��B�������A�Ȃ��Ȃ����̂��߂�����Linux�}�V����p�ӂ����Ƃ����̂�����ARDB���g����悤�ɂȂ�O��Linux�Ɋ����K�v�����邽�߁A�n�[�h���������Ȃ��Ă���̂�����ł��傤�B����́ADB���g�����v���O���~���O�ɂ��ĕ����������ƍl���Ă���r�W�l�X�}���ɂƂ��Ă������ł��B
�@�������������Ƃ���A�M�҂̓}���`�v���b�g�t�H�[���œ��삷��Java�̓����𗘗p����RDB�ւ̊��҂�傫�������Ă����̂ŁAHSQLDB�̂悤��Java�Ŏ������ꂽRDB��m�����Ƃ��ɂ͂����Ɏg���āA�w�Z�ł̎��Ƃւ��������܂����B����RDB��JBoss�ȂǂɕW���œ�������Ă���̂ŁA�m���Ă���ǎ҂������ł��傤�B
�@�����w�K�Ƃ������_�����łȂ��A�ŋ߂�Java���ڎw���Ă���EoD�iEase of Development�j�Ƃ����ϓ_������A�J�����ł���JDK���C���X�g�[������ARDB�������Ɏg�����Ƃ����͔̂��ɑ傫�ȈӖ�������܂��B�������̃\�t�g�E�F�A���_�E�����[�h���Ă��ăC���X�g�[���Ɛݒ������̂͂�͂�ʓ|�ł��B�܂��AGUI�A�v���P�[�V������Web�x�[�X�V�X�e�������y���āA�}���`�X���b�h�v���O���~���O�A�l�b�g���[�N�v���O���~���O��������O�ƂȂ��Ă��܂������݂ł́A�r������⓯���Ƃ��������Ƃ��ӎ����āA�Ȃ�����Q���������Ȃ��悤�ȃv���O���~���O�������v�������悤�ɂȂ��Ă��Ă��܂��B
�@RDB���g���A�����ɂ��Ă킴�킴�����Ŏ�������K�v���Ȃ��A���Ȃ��J�͂ň��肵���v���O�������쐬���邱�Ƃ��ł��܂��B���܂�AOS�ւ̈ˑ��x�������t�@�C���V�X�e���ڎg���āA�f�[�^�������o������A�ǂݍ���Ƃ��������������v���O���������ARDB�𑀍삷��v���O�������L�q����@��̕��������̂ł͂Ȃ��ł��傤���B�����������_������AJava DB�͑劽�}�ł��B
�@���Ă����ŁAJDK6�ɂ�HSQLDB�̂悤��Java�Ŏ������ꂽRDB���W���œ�������܂��BJDK�̃h�L�������g�ł�Java DB�Ƃ������O�ŏЉ��Ă��܂��B���̎��̂� Apache License, Version 2.0.�̃��C�Z���X�Ŕz�z����Ă���Apache Derby �f�[�^�x�[�X�ł��B�M�҂͂��̏��āA������Apache Derby�̃h�L�������g���Q�Ƃ����̂ł����A�悭���ׂĂ݂��Java DB�̃h�L�������g���p�ӂ���Ă��邱�Ƃ�������܂����B���Java DB�̕��ɋC���t���Ηǂ������ƁA������ƌ�������Ȃ���Java DB�̕����ǂ�ł݂��Ƃ���A�ǂ�����قƂ�Ǔ������Ƃ������Ă���܂����BApache Derby�̃T�C�g�œ����m�������ʂɂ͂Ȃ炸�A������܂����B
�@�������AJava SE 6 Release Notes - Features and Enhancements -�ɏ����Ă��邱�Ƃɂ͒��ڂ��Ă��������������ł��傤�B�����ɂ́A�uJava DB 10.2 JDBC4 Early Access�v�Ə����Ă���AJDK6 RC�ł�Java DB��JDBC4��Early Access�łŁAApache Derby 10.2.1.7 �̃\�[�X�R�[�h���g���ăr���h���Ă���Ƃ���܂��B���ӏ��������Ă���A���i�ɂ͎g�p���Ȃ������ǂ��悤�ł��BJDK6 Beta�ł̎��_�ł́AJDBC4�ł̃o�C�i���͓�������Ă��Ȃ��������Ƃ��l����ƁAJDBC4�Ή��͐i��ł���悤�ł����A���ۂ�JDK6�����[�X�łł͂��ꂪ�ǂ��Ȃ��Ă���̂��A�C�ɂȂ�Ƃ���ł��B
�ҏW�����F2006�N12��11����Java SE 6 �����������[�X����܂������AJDBC4��Early Access�łł���_�͕ύX�Ȃ��̂悤�ł��B
�@Java DB���N���C�A���g�T�[�o������RDB�ł��A�v���P�[�V�����g�ݍ��݂�RDB�Ƃ��Ă����p�ł���֗���RDB�ł��B�ȒP�Ɏg�������Љ�܂��傤�B
�@$JAVA_HOME��JDK���C���X�g�[�������f�B���N�g�����Ƃ���ƁAJava DB�֘A�̃t�@�C����$JAVA_HOME/db�ɂ���܂��BJava DB���g���Ƃ��́A���̃f�B���N�g�������ϐ�DERBY_HOME�ɐݒ肵�Ă����Ƃ����ł��傤�B�T�[�o�N���C�A���g�����Ŏg���ꍇ�́A$DERBY_HOME/frameworks/NetworkServer�̕����g���A�g�ݍ��ݕ����Ŏg���ꍇ�́A$DERBY_HOME/frameworks/embedded�̕����g���܂��B
�@�Ȃ��AJava DB�ɂ�ij.ksh(ij.bat)�Ƃ����R�}���h���C���c�[�����t�����Ă��āASQL���ڎg����RDB�𑀍����邱�Ƃ��ł��܂��B
�@�����ł́ALinux�ł́A�o�[�W�����̊m�F���@�����Љ�Ă����܂��BWindows�ł��A���ϐ�JAVA_HOME�ADERBY_HOME�APATH��ݒ肵�ăR�}���h�v�����v�g����sysinfo.bat�Ɠ��͂���A�����悤�ȏo�͂��o�Ă���͂��ł��B���̏��JDBC 4.0�h���C�o�����삵�Ă��邱�Ƃ�������܂��B
���s�� |
$ export JAVA_HOME=/usr/java/jdk |
�@Java DB��g�ݍ��ݕ����Ŏg���Ƃ��́A�]���́uClass.forName("org.apache.derby.jdbc.EmbeddedDriver")�v�Ƃ���JDBC�h���C�o��ǂݍ��ނ��߂̂��܂��Ȃ��͕K�v����܂���B���ڐڑ����J�n���邱�Ƃ��ł��܂��B
�@�Ȃ��AJava DB�ł̓f�[�^�x�[�X�̐ڑ��pURL�֑������w�肷�邱�Ƃ��ł��܂��B�����ł́Acreate=true�Ƃ��Đڑ�����DB���Ȃ��ꍇ�́A�쐬�����A������DB������ꍇ�ɂ́A���̂܂ܐڑ�������悤�ɂ��Ă��܂��B���̗�ł́Adb/sample��DB�����w�肵�Ă���̂ŁA�v���O���������s�����J�����g�f�B���N�g����db�f�B���N�g���Ƃ��̒���sample�f�B���N�g�����쐬����A������DB�p�̃t�@�C�����쐬����܂��B��p�X��DB�����w�肷�邱�Ƃ��ł��܂��B
java.sql.Connection con = DriverManager.getConnection("jdbc:derby:db/sample;create=true"); |
�@�g�ݍ��ݕ�����RDB�ł́A�A�v���P�[�V�����I������RDB������I������悤�ɋC���g���K�v������܂��BJava DB�ł́A���̂悤�Ƀf�[�^�x�[�X�̐ڑ��pURL��shutdown�������w�肵��RDB������ɃV���b�g�_�E������悤�ɂ��܂��B���̏����ɂ��RDB�̓R�l�N�V�����������I�����邽�߁A�K��SQLException��������_�ɂ͒��ӂ��܂��傤�B
DriverManager.getConnection("jdbc:derby:;shutdown=true"); |
�@�T�[�o�N���C�A���g�����Ŏg���ꍇ�́A$DERBY_HOME/frameworks/NetworkServer/bin �ɂ���c�[�����g���܂��BstartNetworkServer.ksh�ŋN���AstopNetworkServer.ksh�Œ�~�ɂȂ�܂��BWindows�p�ɑΉ�����o�b�`�t�@�C��������܂��B
�@���ӓ_�Ƃ��ẮA�N���C�A���g�v���O�����ł͎g�p����h���C�o��org.apache.derby.jdbc.ClientDriver�ɂȂ�܂����A�N���X���C�u������ derbyclient.jar ���g�����ƂɂȂ�܂�����A�g�ݍ��ݎ��Ƃ͕ʕ��Ƃ��Ĉӎ�����K�v������܂��B
�@���āA�{��̃p�[�V�X�e���XAPI�ł��B���̋@�\��EJB 3.0�Ƃ������_���璍�ڂ𗁂т₷���@�\�ł����AStandard Edition�ɂ���荞�܂ꂽ�@�\�Ȃ̂ŁA���ꂩ��͂ǂ�ǂp�������Ƃ���ł��B�t�@�C��������������RDB���g���������y�ł����A�A�m�e�[�V�����̂������ŁA�p�[�V�X�e���XAPI�����Ȃ�y�Ɏg����悤�ɂȂ�܂����B�Ȃ��AJDK�ɂ͕W���ł͕t���Ă��Ȃ��̂ŁA�����͕ʓr�p�ӂ���K�v������܂��B�p�[�V�X�e���XAPI�̎����ɂ́AHibernate 3.2 �ABEA��kodo�ɗR������OpenJPA��AOracle��TopLink JPA�Ƃ��������̂�����܂��B
�ҏW�����FHibernate�ɂ��Ă̏ڍׂ�m�肽���ǎ҂́A�uHibernate���������߂̏����v�����Q�Ƃ��������B
�@����ł́A��������JDK6��Java DB�Ƃ����֗���RDB���t�����̂ŁA�����Hibernate 3.2�ɂ��Java SE �ł̃p�[�V�X�e���XAPI���p�����Ă݂܂����B�K�v�Ȃ��̂́AHibernate-3.2.1.GA�AHibernate-annotations-3.2.0.GA�AHibernate-entitymanager-3.2.0.GA�ɂȂ�܂��B�������_�E�����[�h��A�W�J���ĕK�v��JAR�t�@�C������ɓ���܂��B���ʂ�Ant�̃r���h�t�@�C�����g���̂ł����A�g���Ă���JAR�t�@�C����������₷���悤�ɁA�����ł͎��̂悤��Linux�̃V�F���X�N���v�g�ŃR���p�C����p�ӂ��܂����B���s������Ǝ����悤�ȃX�N���v�g��p�ӂ��Ď��s�ł��܂��B�v���O���~���O���ȒP�ɂȂ镪�A�v���O�����������I�ɍs�����Ƃ������Ă���̂ŁA�K�v��JAR�t�@�C������������܂��B
�R���p�C���p�V�F���X�N���v�g |
#! /bin/sh
|
�@Java SE �Ńp�[�V�X�e���XAPI���g�����߂ɂ́A�N���X�p�X�̃��[�g�Ɏ��̂悤��META-INF/persistence.xml�t�@�C����p�ӂ��܂��B����́Ahibernate.cfg.xml���Q�Ƃ���悤�ȏ����������Ă݂܂����B�f�B���N�g���\���͎��̂悤�ɂȂ�܂��BSampleEntity�N���X���p�[�V�X�e���X������ΏۂŁAMain�N���X�Ńp�[�V�X�e���X�̃T���v���������L�q���Ă��܂��B
�f�B���N�g���\�� |
+ META-INF/ |
META-INF/persistence.xml |
<?xml version="1.0" encoding="UTF-8" ?> |
hibernate.cfg.xml |
<!DOCTYPE hibernate-configuration SYSTEM |
Main.java |
package sample; |
SampleEntity.java |
package sample; |
�@�ڍׂȏ���hibernate.cfg.xml�ɏ����܂������A�����Ŏw�肷��h���C�o�N���X�Ȃǂ͎g�p����RDB�Ɉˑ����܂��BHibernate��Apache Derby���T�|�[�g���Ă���̂ŁAJava DB���g���ꍇ�ɂ́AApache Derby�̂��̂����p�ł��܂��B�ŋ߂�EoD�̗���ŁAHibernate�ł��G���e�B�e�B�̒l��ۑ����邽�߂̃e�[�u�����Ȃ��ꍇ�ɁAHibernate�֎����ō쐬����悤�ɐݒ�����邱�Ƃ��ł��܂��Bhibernate.hbm2ddl.auto�v���p�e�B��create���w�肵�Ă��������Ŏ����ł��Ă��܂��̂ŁA����܂��e�[�u�����쐬���邽�߂�DDL��p�ӂ�����A�e�[�u���\���ƃN���X�̃\�[�X�R�[�h�����Ă�����J�������̂悤�ł��B
�@���Ɏ��s��̈ꕔ�������܂����AHibernate�����삵�Ă�������̏�o�͂���Ă��܂��B���̓r���ŁAApache Derby Embedded JDBC Driver���g���Ă��邱�Ƃ������郁�b�Z�[�W���o�͂���Ă��܂��B�Ō�̕��Ōx�����o�Ă���̂��C�ɂȂ�܂����A����̓f�[�^�x�[�X�ւ�1��ڂ̐ڑ�����DB������āA2��ڂ̐ڑ��Ŕ������Ă��邾���ł��B1�x���s������A�f�[�^�x�[�X�̐ڑ�URL�ɂ���create=true�̎w�����菜���Δ������Ȃ��Ȃ�܂��B�r����JDK6�Əo�͂���Ă���̂��p�[�V�X�e���X��DB��1��ۑ����Ă���A�܂��ǂݍ���ŕ\�����Ă���G���e�B�e�B�̏��ɂȂ�܂��B
���s�� |
$ ./run.sh |
�@�O�̂��߁AJava DB�ɕt����dblook�R�}���h���g���ăe�[�u�����쐬����Ă��邱�Ƃ��m�F���Ă݂��Ƃ���A���̂悤�ɍ쐬����Ă��܂����B
���s�� |
$ /usr/java/jdk/frameworks/embedded/bin/dblook.ksh \
|
�@�p�[�V�X�e���XAPI����{�������������ƒ����ł����A������Ǝg����悤�ɂȂ�ɂ͏ڍׂ𗝉�����K�v������܂��B�������A��������ĐV����JDK�������[�X����鎞���ɍ��킹�āA�����Z�p���ǂ̂悤�ɐi�������̂��A�ǂ�ȐV�����Z�p�����y������̂��A���m�F����Ƃ����Ӗ����ق�̐G�肾���ł��G��Ă݂�ƌ��\�y�������̂ł��B
�@�Ō�ɂ�����Ƃ���Tips���Љ�Ă����܂��BJDK6����java.lang.System�N���X��console()���\�b�h���lj�����܂����B
�@�Ⴆ�A�uSystem.console().printf("%s\n", e.getName());�v�i��LMain.java���Ԏ��j�̂悤�Ɏg���܂��B����܂ŁAin��out�Ȃǂ��g���Ă��܂������A���̃��\�b�h�̂��������L�����N�^�x�[�X�̓��o�����ȒP�ɂł���悤�ɂȂ�܂����B
�@��������������Ƃ����@�\�lj������ꂵ���Ƃ���ł��B�W�F�l���b�N�^���A�m�e�[�V�����̓����Ȃǂ�Java�����G�ɂȂ��Ă��Ă��܂����A�@�\�𗝉�����ƃv���O���~���O�����܂܂ł����y�����ł��邱�ƂɋC���t���܂��BJava���Ė{���ɖʔ����ł���
�ҏW�����F����g�p�����\�[�X����������_�E�����[�h�ł��܂��B
�ҏW�����F�W�F�l���b�N�^���A�m�e�[�V�����ɂ��Ă̏ڍׂ́A�uJ2SE 5.0�uTiger�v�ʼn����ς�邩�H�v�����Q�Ƃ��������B
���R���j�i����� �Ђ낵�j
Web�V�X�e���̉^�p�ƊJ���A�R���s���[�^�Ƌ���̌����ɏ]������T��A�I�[�v���\�[�X�\�t�g�E�F�A�AJava�Z�p�̕��y�̂��߂̊������s���Ă���BJa-Jakarta�v���W�F�N�g�֎Q�����A�R�~�b�^�̈���Ƃ��Ċ������x���Ă���B�܂��A���쌧�̒n��R�~���j�e�B�ł���ASSS(G)��bugs(J)�̊����ւ��Q�����Ă���B
Copyright © ITmedia, Inc. All Rights Reserved.