Eclipselink JPA2.0 動かない(><)
javax.servlet.ServletException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.0.0.v20090713-r4647): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource Error Code: 0
エラーだなんて・・・まぁ、開発版を試してみただけなのでこれもありか・・・
Java EE 5 プラットフォームでの Java Persistence
NetBeans 6.8 Dev 版を使って上記サイトのチュートリアルをさらに簡単にして(手抜きとも言う) Java EE 6 で試したけどダメでした。
Product Version: NetBeans IDE Dev (Build 200907241401)
Java: 1.6.0_14; Java HotSpot(TM) 64-Bit Server VM 14.0-b16
System: Windows Vista version 6.0 running on amd64; MS932; ja_JP (nb)
Userdir: C:\Users\Yucchi\.netbeans\dev
何も動かないのは悔しいので persistence.xml ファイルをやけくそで下記のようにしてやったら動いた(ように見える)
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="WebApplication5PU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/ee6p</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.ddl-generation" value="create-tables"/>
</properties>
</persistence-unit>
</persistence>
————– 変更後 ————-
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="WebApplication5PU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.ddl-generation" value="create-tables"/>
</properties>
</persistence-unit>
</persistence>
PU のバージョンを変えただけだったりします。 (^^;
秋に Java EE 6 がリリースされる予定なのでそれにあわせて NetBeans 6.8 もリリースされるんだろうか?
6.8 というバージョンナンバーやこういうのを見ると一番乗りで Java EE 6 対応の統合開発環境としてリリースされるだろうと期待してしまう。
ちなみに起動直後やプロジェクトを新規作成した時にちょくちょくこの吹き出しメッセージが出る。
これって・・・ もっと高性能な PC を使ってねって言われてるような気がするw
[ 追記 ] お魚に JDBC 食べさせたら問題なく動きました。
クラス名の間違いでもなく、クラスパスがとおってないんでもなく JDBC ドライバがなかった・・・
てっきり標準装備だと思ってました・・・