0

2 つのエンティティがあります: Student と Address

Student クラスと JSP ページに OneTeOne アノテーションを追加しました。foreach JSTL タグで ${stud.address.country} を使用して、特定の学生の住所を取得できます。

それは機能していますが、問題は次のとおりです。JSPページではなく、phpMyAdminを介して新しい学生を永続化する必要があります。

では、JSP コードとサーブレット コードに何を追加して、独自のデータ アドレス データを持つ新しい学生を追加/永続化する必要がありますか?

(Java Webの初心者です)

ここにnetbeansソースプロジェクトへのリンクがあります

4

1 に答える 1

0

私の知る限り、phpMyAdmin は MySQL 用の PHP ベースの管理ユーティリティに他なりません。したがって、Java 環境で作業している場合、エンティティを永続化する必要はなく、永続化すべきではないという単純な答えです。

プロジェクトの永続化ユニットがまだない場合は、宣言することを検討してください。お使いの環境に基づいて、MySQL インスタンスに接続されたデータソースを設定する方法も見つけ、EntityManager APIを使用して永続化操作を実行します。

最初にJPAのチュートリアルから始めることをお勧めします。具体的には、持続性ユニットアプリケーション管理とコンテナー管理エンティティ マネージャーの部分です。

申し訳ありませんが、あなたを正しい方向に導く簡単な方法はないと思います。より短いルートがあるとは思えません。

アップデート

ドロップボックスのコンテンツを調べたところ、ほとんどが IDE で生成されたコードで、問題なく機能しているようです。永続化ユニットの宣言は、問題がある可能性があります。

<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="CRUDWebApplicationPU" transaction-type="JTA">
        <jta-data-source>jdbc/studentDB2</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <properties/>
    </persistence-unit>
</persistence>

<jta-data-source>jdbc/studentDB2</jta-data-source>- はjdbc/studentDB2、デプロイメント環境で java.sql.Datasource の有効な JNDI 名ですか? 基本的に、データベースに接続された展開環境でデータソースを構成する必要があります (構成は環境固有であることに注意してください)。その後、コードは問題なく動作するはずです。より良い答えを得るには、より具体的にする必要があります。

于 2013-03-12T03:47:19.527 に答える