問題タブ [hibernate-spatial]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hibernate - hibernate-spatial: ジオメトリを取得するための SQL クエリ
私はpostgresql、hibernate-spatial、およびpostgisを使用しており、SqlQueryを使用してGeometryオブジェクトを取得できると期待しています。
ただし、ポイント、ポリゴン、またはジオメトリをクエリしようとするたびに
私は例外を受け取ります:
hibernate.cfg.xml:
これは hibernate-spatial オファリングの一部ではありませんか、それとも何か間違っていますか?
ありがとう、ポール。
関連するライブラリ/バージョン:
- hibernate-core-3.6.0.Final.jar
- postgresql-9.0-801.jdbc4.jar
- hibernate-spatial-postgis-1.1.1.jar
- hibernate-spatial-1.1.1.jar
- postgis-jdbc-1.3.3.jar
- jts-1.12.jar
hibernate - postgis と hibernate-spatial で型ジオメトリが見つからない
postgis を使用して hibernate-spatial でプロジェクトをセットアップしようとしています。hibernate-spatial 4.0-M1 のチュートリアルに従って、依存関係の postgis-jdbc-1.5.3.jar が見つからないという問題に最初に遭遇しました。ここで誰かが提案したように、私はバージョン 1.5.2 を使用し、チュートリアルはコンパイルされました。
しかし、実行しようとするとエラーが発生しました。hibernate の debug-level を debug に設定し、次の問題に遭遇しました。
エラーはドイツ語ですが、タイプ「ジオメトリ」が存在しないことを意味します。
create table ステートメントを使用して pgadmin で実行すると、find が機能するので、データベースが正しくセットアップされていると思います。
私のバージョン:
助けてくれてありがとう
ジェイビー
hibernate - Hibernate-SpatialをPlayFrameworkで稼働させる
私はplay2.1で最初の一歩を踏み出しているので、playframeworkWebサイトでJavaTodoListチュートリアルを行いました。すべてが期待どおりに機能しました。
次に、開発ボックスで実行されているpostgresqlデータベースを使用するようにtodolistを変更しました。私がしなければならなかったのは、application.conf`のいくつかの設定を変更することだけでした
ページを更新し、データベースを進化させましたが、すべてが正常に機能しました。
ここで、hibernate-spatialを使用して、すべてのtodolistアイテム(実際には、他のロケーションベースのアイテムである可能性があります)のロケーション座標を格納するためにプレイしたいと思います。
アプリの/libディレクトリにいくつかのライブラリを追加しました。
- hibernate-commons-annotations-4.0.1.Final.jar
- hibernate-core-4.1.9.Final.jar
- hibernate-spatial-4.0-M1.jar
- jdbc-stdext-2.0.jar
- jts-1.12.jar
- postgis-jdbc-1.5.3.jar
- postgresql-8.4-701.jdbc4.jar
古典的なGlassfishJavaアプリで同じライブラリを使用して空間機能を保存したので、それらを組み合わせることができます。また、postgresqlデータベースはpostgisで空間的に有効になっています。これは、以前にクラシックJavaアプリでテストされました。
ToDoタスクのモデルクラスを次のように拡張しました。
また、confファイルにPostgisJPA方言を追加しました。
Playはすべてを正常にコンパイルします。いくつかのエラーがあり、ライブラリがクラスパスにない場合ですが、エラーが表示されなくなるまで、上記のように1つずつ追加しました。それにもかかわらず、新しいロケーションフィールドのデータベースの進化はトリガーされませんでした。Playは、私のアプリのHibernate-Spatial固有の部分をすべて無視しているようです。以前の通常のtodolistアプリと同じように機能しています。
さまざまなHibernateバージョンと関係があると思います(hibernate3またはhibernate4を使用してプレイしていますか?4にアップグレードできますか?)。すでにこれを経験している人が、使用した各ライブラリのバージョンと、実行する必要のある構成設定を教えてもらえますか?
更新:クリストファーが述べたように、私はebeanとjpaを混同しました。そこで、jpa-sampleを取得して、単純なtodolistサンプルに転送しました。Playプロジェクトのファイルと依存関係を更新し、モデルとコントローラーをJPA EntityManagerに合うように再配線し、クラスパスからいくつかのライブラリを削除して、Play2.1に搭載されているHibernate3を使用するようにしました。また、jpaの例とほぼ同じように構成を行いました。hibernateにpostgres方言を使用していることを除けば、persistence.xmlとapplication.confはほぼ同じように見えます。プロジェクトをコンパイルすることはできますが、プロジェクトを開始すると、
PersistenceException:[PersistenceUnit:defaultPersistenceUnit]EntityManagerFactoryを構成できません
デバッグするようにplayの冗長性を構成したので、PropertyBinderがタスクエンティティのidプロパティをビルドした後にこの例外が発生することがわかりました。
私はさらに一歩進んだと思いますが、終わりは見えません...
hibernate - エリア内のポイントに対する Hibernate-Spatial クエリ
stackoverflow の読者の皆様へ
現在、座標に基づいて特定のアイテムをロードする必要があるアプリケーションに取り組んでいます。例: 座標 x またはその 15 km 以内にあるすべてのショップが必要です。
私はこの Web アプリケーションを Java EE 6 で構築しており、Postgres データベースへのデータ永続化のために Hibernate 3.3 を使用しました。いくつかの調査の後、Hibernate-Spatial が私の目標を達成する可能性があることを発見しました。Postgis をインストールし、Hibernate-Spatial を実行しています。
私は Hibernate 3.3、Hibernate-Spatial 1.0、PostgreSQL 9.2、および postgis-jdbc 1.3.3 を使用しています。
場所フィールドを持つエンティティを作成しました:
最初は、円を作成し、基本的に円内にあるすべての点を照会できると考えていました。でもこれが思ったより難しそうです。Hibernate-Spatial を使用するという間違った選択をしたと思い始めているほど難しいです。
私の質問は、Hibernate-Spatial を使用して特定の境界内のすべてのポイントを照会することが可能かどうかです (座標 x と y はそこから km です)。
私の要件を解決する他の可能性にも興味があります。以下の可能性を考えてみました。
- PostgreSQL でネイティブ クエリを使用し、それらの結果をエンティティにマップして、アプリケーションの他の部分で使用します (基本的に Hibernate-Spatial を削除し、ネイティブ クエリを使用します)。
- Hibernate-Search に切り替え、Lucene を使用してタスクを実行します。
- まったく別のもの
Hibernate-Spatial で自分の希望を達成する方法、または別の方法で要件を達成する方法の例を教えてください。
hibernate - @Index アノテーション使用時の index メソッドの指定
PostGIS の上に実装される空間アプリケーションのスキーマを作成するために、(空間) 休止状態の注釈を使用しています。注釈付きクラスからデータベース スキーマを作成するとき、アプリケーション全体で使用される空間クエリを高速化するために、空間インデックスを作成する必要があります。
エクスポートされたスキーマにはインデックスが含まれていますが、残念ながら望ましくないインデックス メソッドで作成されています。hibernate はデフォルトのようですがbtree
、PostGIS はGIST
空間データを扱うときにインデックスの使用を推奨しています ( http://postgis.net/docs/manual-2.0/using_postgis_dbmanagement.html#id441511を参照)。
単純な SQL を使用してインデックスを作成する方法にフォールバックするかもしれませんが、休止状態の注釈を使用して PostgreSQL のデフォルトのメソッド タイプをオーバーライドする方法があるかどうか疑問に思っています。解決策やそれを行う方法のアイデアさえも高く評価されます。
TIA、ティルマン
java - JPA Criteria Api と休止状態の空間 4 を一緒に使用する
ここでクエリの例を考える: http://www.hibernatespatial.org/tutorial-hs4.html
jpa 2 基準 API を使用してクエリを書き直すことはできますか? (そのwithin(e.location, :filter)
部分をどのように処理すればよいかわかりません。
java - Envers と Hibernate Spatial 4 を使用した監査
Envers を使用して、Hibernate エンティティに監査を設定しようとしています。ただし、次のエラーが表示されます。
タイプを判別できませんでした: ジオメトリ、テーブル: Location_AUD、列: [org.hibernate.mapping.Column(geom)]
Hibernate は監査なしで私が使用しているジオメトリ タイプに満足していますが、Envers は問題を抱えているようです。
Envers が Hibernate Spatial 4 で動作するかどうか知っている人はいますか? もしそうなら、おそらく誰かが私のコードの問題を見つけることができます.
HibernateSpatial 4.0.0 M1 で Hibernate 4.2.5 を使用しています