問題タブ [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.
mysql - HibernateSpatial APIでジオメトリオブジェクトのデータ型をポリゴンオブジェクトのデータ型から変更するには?
HibernateSpatial API を使用して Polygon シェイプをデータベースに保存しようとしています。このチュートリアルに従って値を保存しました。データベースサーバーとして Mysql を使用しています。そのため、シナリオにいくつかの変更を加えました。次のエラーを取得してデータベースに保存します。
: :エラー: :
エラー [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http-/192.168.5.244:8080-1) データの切り捨て: GEOMETRY フィールドに送信したデータからジオメトリ オブジェクトを取得できません
エラー [com.service.HibernateSaveService] (http-/192.168.5.244:8080-1) 例外 :_: ステートメントを実行できませんでした
ヒント
Polygon を Geometry データ型に直接渡そうとしているため、このエラーが発生しています(これは私の仮定です)。この問題を解決し、データベースに値を保存するのを手伝ってください。
私のコードは以下です。
エンティティ クラス :_:
持続クラス :_:
データベーススキーマ
よろしく、アルンラージ。
java - Hibernate 検索 (4.5) @Spatial as @IndexedEmbedded
「場所」のリスト (セット) と @OneToMany の関係を持つエンティティ「メッセージ」があります - 空間エンティティ (メッセージには多くの場所がある場合があります -- 以下のクラスを参照してください)。Luke で見られるように、インデックスは正しく作成されています。2 つの「必須」ルールを持つ複合クエリを作成しようとすると、正しい場所の 1 つが指定された場合にのみ、クエリは要求されたメッセージを返します。onDefaultCoordinates() がリスト内の場所の 1 つだけを取るようなものです。理にかなっていますが、座標の各セットの名前を持つリストを作成できないため、 onCoordinates(String arg) を使用できません。クエリは次のとおりです。
クラスは次のとおりです。
および場所クラス:
.must(指定されたタイトル) と .must の 2 番目の座標セットを使用してメッセージ クラスをクエリすると、応答としてクラスが取得されます (特定の場所のみが必要ですが、これは別の質問です)。別の場所(インデックスにも存在する)で同じことを行うと、空の応答が返されます。何か案は??
hibernate - タイプ org.postgresql.util.PGobject のオブジェクトを変換できません
Hibernate Spatial と PostGIS の使用に問題があります。次のようなフィールドを持つエンティティがあります。
私が抱えている問題は、そのエンティティの場所が null でない限り、データベースからこれらのエンティティを読み込めないことです。null でない場合、次のエラーが発生します。
奇妙なことに、それらを問題なく保持できますが、ロードすることはできません。たとえば、次のようなことをするとします。
ポイントはPostgresqlデータベースに正しく保存され、クエリが機能します。ロードするときだけ、動作しません。
場所フィールド以外に、クラスから他のフィールドをロードすることもできます。たとえば、次のようになります。
動作しますが、次のとおりです。
しません。
これらは私のpom.xmlの依存関係です:
私が試すことができるアイデアはありますか?現時点では、永続化された GeometryType のみをクエリに使用する回避策がありますが、それを Java オブジェクトにロードしないでください。しかし、その解決策には満足していません。ありがとう!
querydsl - Querydsl Spatial で INTERSECTS 操作を使用する方法
Querydsl で INTERSECTS 操作を使用しようとしています。
BooleanExpression を生成すると、次のメッセージが表示されます。
unknown operation with operator com.mysema.query.spatial.SpatialOps#INTERSECTS and args [entity.location, POLYGON((30 10,40 40,20 40,10 20,30 10))]
私はHibernateSpatialを使用しています..次に、次のことをしようとしています:
HibernateSpatialSupport に基づいて独自のクラスを作成し、HibernateSpatial で使用する有効な交差操作を作成します。
以下を使用して HibernateSpatialOps を作成しました。
private static final String NS = HibernateSpatialOps.class.getName();
public static final Operator<Object> INTERSECTS = new OperatorImpl<Object>(
NS, "intersects({0}, {1})");
交差操作で BooleanExpression を生成すると、次のメッセージが表示されます。
unknown operation with operator org.project1.querydsl.HibernateSpatialOps#intersects({0}, {1}) and args [entity.location, POLYGON ((-0.948944091796875 39.49052944781087, -0.4988479614257812 39.49052944781087, -0.4988479614257812 39.39030533696812, -0.948944091796875 39.39030533696812, -0.948944091796875 39.49052944781087))]
手伝って頂けますか?
よろしくお願いします、