GeoTools WFS-T プラグインを使用して新しい行を作成し、コミット後、.getId() が次のような醜い文字列を返す FeatureId を作成しました。
newmy_database:my_table.9223372036854775807
「my_database」の先頭にある「new」という単語が驚くべきものであるという事実は別として、この数値は新しい行の主キー (この場合は「23」) をまったく反映していません。当然のことながら、これは内部の番号付けシステムである可能性があると思いました。ただし、別のテーブルの外部キーでこのテーブルの新しい行の主キーを取得したいのですが、この FID から値を取得する方法がわかりません。一部の場所では、次のようなクエリで FID を使用できることが示唆されています。
Filter filter = filterFactory.id(Collections.singleton(fid));
Query query = new Query(tableName, filter);
SimpleFeatureCollection features = simpleFeatureSource.getFeatures(query);
しかし、これはすべての場所の下線で、FID の解析に失敗します! 行が作成されたときにそのアンダースコアがありました(行を追加するテーブルとして「my_database:my_table」を渡す必要がありました)。
ID に何か問題があるか、何らかの方法で間違って使用していると確信しています。誰でも光を当てることができますか?