プロジェクト用の JPA アプリケーションを開発しています。私はエクリプスリンクを使用しています。このチュートリアルを見つけましたが、アプリケーションの複雑さには適合しません ここにリンク
データベースのユーザー名、パスワード、および URL の外部ファイルを作成して、データベースのユーザー名とパスワード、またはホスト名を変更するたびに persistence.xml ファイルを変更しないようにしたいと考えています。
これは私が取り組んでいるコードです
Map map = new HashMap();
map.put(PersistenceUnitProperties.JDBC_USER, "root");
map.put(PersistenceUnitProperties.JDBC_PASSWORD, "toor");
map.put(PersistenceUnitProperties.JDBC_URL, "jdbc:mysql://localhost:3306/sad?zeroDateTimeBehavior=convertToNull");
map.put(PersistenceUnitProperties.JDBC_DRIVER, "com.mysql.jdbc.Driver");
上記のコードは例外をスローします
これは私の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="SADPU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>sad.entity.Credential</class>
<class>sad.entity.Customer</class>
<class>sad.entity.Employee</class>
<class>sad.entity.HourlyRate</class>
<class>sad.entity.Item</class>
<class>sad.entity.Product</class>
<class>sad.entity.ProductTransaction</class>
<class>sad.entity.Province</class>
<class>sad.entity.Tax</class>
<class>sad.entity.TransactionParticular</class>
<class>sad.entity.WorkingHours</class>
<class>sad.entity.Zero</class>
</persistence-unit>
永続化ユニットを設定した後、エンティティマネージャーを作成しました
Persistence.createEntityManagerFactory("SADPU", map);
プロパティタグを削除して、目的を達成できるかどうかをテストしましたが、例外がスローされました
例外の説明: ドライバー [null]、ユーザー [null]、および URL [null] から接続を取得できません。予期されるドライバー クラスと URL が設定されていることを確認します。ログイン、persistence.xml、または sessions.xml リソースを確認してください。jdbc.driver プロパティは、データベース プラットフォームと互換性のあるクラスに設定する必要があります。
私はそれを間違っていますか?