1

JBoss AS7.1.1 サーバーで EJB3.1 エンティティを使用するのは初めての試みです。JBoss のバージョン 7 には HSQLDB が含まれていないことがわかりました。最初に、管理コンソール --> デプロイメント --> デプロイメントの管理から hsqldb.jar を追加しました。その後、Profil --> Connector -> Datasources から新しいデータ ソースを追加しました。

私の最初のサンプルコードは正常に動作します:

[...]     
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:/DefaultDS");
con = ds.getConnection();
stmt = con.createStatement();
stmt.execute("drop table timers;");
stmt.execute("Create table timers(id char(10));");
stmt.execute("INSERT INTO timers  (id) VALUES (20)");
stmt.execute("INSERT INTO timers  (id) VALUES (21)");
ResultSet number = stmt.executeQuery("select * from timers");
[...]

私の質問は、jobs\standalone\data\hyperonic フォルダーに作成された DB を管理 (= 新しいテーブルの作成、削除、および更新) する方法です。現時点では、作成されたテーブル、テーブルの構造、およびデータの「概要」はありません。

問題に対処するためのヒントやチュートリアルを誰かが持っていますか? ありがとうございました。

4

2 に答える 2

1

私の場合、最初に思ったより簡単でした。AS 7.1.x サーバーに格納されている DB を管理する必要がありました。JMX コンソールが見つからないため、管理を介してその DB にアクセスできませんでした。最初の投稿で説明したように、データソースと展開の管理を追加しました。

このような DB を管理するには、'HSQLDB Database Manager' を使用して、タイプとして 'HSQL Database Engine Standalone' を選択し、URL として 'jdbc:hsqldb:file:«MY_PATH_TO_DB_FOLDER_IN_JBOSS»' を選択します。これで、サーバーと EJB 環境の外で DB を管理できるようになりました。

あなたの助けとあなたのインスピレーションに感謝します。

于 2012-10-27T09:59:26.050 に答える
0

常に INFORMATION_SCHEMA テーブルをクエリして、既に存在するテーブルを見つけます。テーブルが存在することがわかったら、データの状態を調べるために、時間がかからないことがわかっているクエリを実行できます。

たとえば、最初のクエリは「TIMERS」テーブルがあるかどうかを示し、2 番目のクエリはテーブルにデータがあるかどうかを示します。

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'TIMERS'
SELECT * FROM TIMERS LIMIT 1

クエリを高速化するために、常に各テーブルに主キーを定義するようにしてください。

アプリ サーバーに埋め込まれたデータベースにアクセスするには、org.hsqldb.server.Servlet クラスをサーブレットとして追加し、データベース管理ツールと次のような URL を使用してアプリ サーバーに接続する必要があります。jdbc:hsqldb:http:<your servlet url here>

于 2012-10-24T15:18:01.990 に答える