私がEclipseLinkに行き詰まるのは数週間になるでしょう。データベースにオブジェクトを永続化できません。私はネットビーンズ7.3を使用しています。Web アプリケーションの設計を開始したときに、この問題に遭遇しました。以下は、私が採用したアプローチです。間違いに気付かずにやっているのかもしれません。
その後、netbeans がプロジェクト ファイルの生成を完了した後、jndi を構成しました。次に、エンティティ オブジェクトのデータベース テーブルである netbeans で自動的に変換しました。 ここにリンクがあります
次に、これらのクラスからJPAControllerを作成しました。(netbeans では常に自動的に)
最後に、テストとして、「Outils」の説明をインスタンス化し、フィールドを空の ID のままにします。後者はデータベース内で自動的にインクリメントされるため、永続化が適切に行われていれば、コンソールなしで表示されたときに ID が表示されるはずです。
<body>
<h1>Hello World!</h1>
<%
Outils o = new Outils();
o.setDesignation("hammers");
EntityManagerFactory emf = Persistence.createEntityManagerFactory("Test_EclipseLinkPU");
UserTransaction utx = (UserTransaction) new InitialContext().lookup("java:comp/UserTransaction");
OutilsJpaController o_ctrl = new OutilsJpaController(utx, emf);
o_ctrl.create(o);
out.println("this is the id of hammer " + o.toString());
%>
</body>
結果として、Outils[ id=null ] が得られます。
エラーはありませんが、グラスフィッシュではデバッガーについてはさらに少なくなります。
Ps : 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="Test_EclipseLinkPU" transaction-type="JTA">
<jta-data-source>test_data_source</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties/>
</persistence-unit>
</persistence>
あなたの将来があなたの答えにあり、追加情報を聞いてくれてありがとう.