sql >> データベース >  >> RDS >> Mysql

MySQLに接続できません-GlassfishとHibernate

    スタックトレースの次の行を見てください

    あなたは問題が何であるかを推測することができます。最初の問題は、データベースドライバの問題だと思います。 1527 Glassfishアプリケーションサーバーに付属しているderbyデータベースのデフォルトのポート番号です。

    構成にデータソースを指定していないため、サーバーはデフォルトのデータベース(この場合はダービー)を見つけようとしています。ただし、このデータベースの接続情報を提供していないため、そのデータベースに接続することはできません。

    したがって、META-INF/persistence.xmlで次のことを行う必要があります。 :

    • transaction-typeを指定します (構成では、仕様に従ってJEE環境にアプリケーションをデプロイしているため、JTAであると見なされます)as

      <persistence-unit name="unit" transaction-type="JTA">
      
    • jta-data-sourceを提供します persistence-unitの子としての要素

      <persistence-unit name="unit" transaction-type="JTA">
          ...
          <jta-data-source>your_data_source_name</jta-data-source>
          ...
      </persistence-unit>
      

    上記の構成を機能させるには、アプリケーションサーバー(Glassfish)の最初の構成を行う必要があります。これを行うには、MySQL jdbcドライバーをダウンロードして解凍し、jarファイルを<glassfish_installation_directory>/glassfish/domains/domain1/libにコピーする必要があります。 (ここではGlassfish 3.1を想定しています)。これは、GlassfishにはMySQLドライバーが付属していないため、自分で行う必要があるためです。

    この後、Glassfishを起動し、管理コンソール( http:// localhost:4848 )。左側のペインで開きます

    1. Resources/JDBC/JDBC Connection Pools 新しい接続プールを作成します
    2. Resources/JDBC/JDBC Resources 新しいデータソースを作成します。データソースに付ける名前は、persistence.xmlで付ける必要のある名前です。 上記のように。


    1. カスタムデータベースアプリケーションのメリットはありますか?

    2. フィールド「id」にはデフォルト値がありませんか?

    3. PostgreSQL:一意の制約または一意のインデックス

    4. sqlalchemyの既存のデータベーステーブルの2つの異なる列ヘッダーを変更するにはどうすればよいですか?