問題タブ [spring-repositories]
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.
spring - spring crud リポジトリは、フィールド C のリスト順でフィールド A およびフィールド B の上位 n アイテムを検索します
私はSpring Repoに次のようなものを持っています:
挿入日順に並べられた ID リストのカテゴリ ID の最初の 10 項目が必要です。
別の同様のクエリ:
ここでは、ドメイン ID が指定された param と等しく、categId が指定されたリストに含まれるようにします。
@Query を使用して解決できましたが、上記のクエリに 1 つのライナーがあるのだろうかと思います。
ありがとう
編集
トップは正常に動作します。最初は持っていましたfindTop10ItemsByDomainIdAndCategIdOrderByInsertDateDesc
。ここで、カテゴリ ID のリストからの結果が必要です。それが新しい要件です。
2番目の編集 私のクエリは、ドメインIDが特定のパラメータと等しく、カテゴリIDが特定のリストに含まれているセットの結果を見つけるために機能します。しかし、HQL は setMaxResult のようなものを top または limit としてサポートしていないことがわかりました。
このメソッドの(@Param("domainid") Integer domainid,List<Integer> categoryIds)
パラメーターはありましたが、各パラメーターに @Param アノテーションを使用するか、@Param をまったく使用しないことを許可されているようです (Pageable return を除く; 私の場合ではありません)。
この考えを達成する方法はまだわかりません。フィールド a が param に等しい上位 n 要素、param のセット内のフィールド b を別のフィールドで並べ替えて抽出します。
ps: タグで申し訳ありませんが、spring-crudrepository はありません:)
spring - Web サイトのさまざまな部分を保護および認証するための Spring リポジトリと組み合わせた Spring Security
Springデータリポジトリを使用してデータベースにアクセスし、登録ユーザーについてクエリを実行するSpring BootアプリケーションでSpringセキュリティを使用する方法について、具体的で深刻で完全な例を探していました。
configure
たとえば、次のオプションを使用してメソッドをオーバーライドすることにより、Spring セキュリティを使用してさまざまな Web ページを簡単に保護できることがわかりました。
このコードは、たとえば へのアクセスからユーザーを保護しますが、または単にhttp://localhost:3000/home/users/
へのアクセスを許可します。http://localhost:3000/login
http://localhost:3000
私はSpringのセキュリティについて読んでいますが、たとえば、ユーザーがWebサイトにログインしたときにアプリケーションのさまざまな部分を保護し、 example からのアクセスを禁止する方法がわかりませんhttp://localhost:3000/home/users/another_user
。ログインしたユーザーの Web サイトのすべての部分へのアクセスを制御します。
エンティティを介してデータベースのデータを操作するために、Spring データ リポジトリを使用しています。
Spring セキュリティを Spring リポジトリ (および必要に応じて他のツール) と組み合わせて使用し、Web サイトのさまざまな部分を保護 (および認証) する例を知っていますか? (ビデオ) チュートリアルも役立つ場合があります。
助けてくれてありがとう。
注: sagan の Web サイトのリポジトリを見てきましたが、何が起こっているのかを理解するのは非常に複雑です...
spring - first() の Spring リポジトリ メソッド
Grails では、 と言えますFoo.first()
。Spring では、拡張するリポジトリがあり、次のことを行うPagingAndSortingRepository
というサービス メソッドを作成しました。getFirst()
これが最善の方法ですか、それとも私が見逃している便利な方法はありますか?
java - フィールドのフィールドで検索するSpringデータリポジトリのメソッド
ユーザーと登録ユーザーの 2 つのエンティティがあります。
登録済みユーザーには、タイプ user のフィールドがあります。この登録ユーザーエンティティに関連するSpringデータリポジトリに、登録ユーザーに接続されているユーザーのユーザー名ですべての登録ユーザーを検索するメソッドが必要です。
したがって、これは関連付けられたユーザー フィールドを持つ登録済みユーザー エンティティです。
これはユーザー名を持つユーザーです:
hibernate - Hibernate は、refercolumn の代わりに主キーを使用してエンティティにアクセスしようとします
このような列定義を持つエンティティがあります
CRUD操作にSpringJpaRepositoryを使用しています。
しかし、SpringJpaRepository.fineOne(id)
休止状態を使用すると、列 ISSUER_ID を参照する代わりに、IssuerEntity の主キーでアクセスしようとします。エラーログはこちら
spring - プリインストールされた MongoDB を使用した Spring Boot MongoRepository 単体テスト
を使用してMongoDBを使用した通常のSpring Bootアプリケーション(1.3.2)がありMongoRepository
ます。
MongoDB からデータを取得するエンドポイントの 1 つの統合テストを作成したいと考えています。Spring Boot 1.3 リリース ノートを見る限り、 Spring にはEmbedded MongoDBの自動構成機能があります( de.flapdoodle.embed.mongo
)。ただし、ファイルシステムに既にインストールされているバージョンの MongoDB を使用する統合テストを作成する方法について、Spring およびflapdoodle のドキュメントからはわかりません。
これまでのところ、私の統合テストは次のようになります。
test
スコープを持つ 2 つの依存関係を追加しました:spring-boot-starter-test
とde.flapdoodle.embed:de.flapdoodle.embed.mongo
. そのため、テストを実行すると、flapdoodle が MongoDB のバージョンをダウンロードしようとしますが、プロキシの背後にいるために失敗することがわかります。しかし、どのバージョンもダウンロードしたくありません。ローカルにインストールした MongoDB を使用したいのです。これを行うことは可能ですか?
java - 特定の都市を含む国と一緒に有効な国を見つけるSpringのfindByクエリメソッド
私はクラスを持っていCountry
ますCity
:
Country
クラスには次のプロパティがあります。
次に、特定の都市を含む国とともに、有効なすべての国を検索する必要があります。
これじゃない:
この場合、都市を含むすべての無効な国と一緒に有効な国を見つけるからです。
次のようなものが必要です:
出来ますか?
SQL は次のようになります。
spring - Spring データ リポジトリを使用してドキュメント フィールドが埋め込まれたドキュメントをクエリする
私はSpring-dataを初めて使用するので、私の質問が素朴である場合はご容赦ください
次のようなドキュメントをクエリしようとしています。
を含むエントリのリストを取得するクエリを実行したかったのfavourites.artist="Picasso"
です。
を使用してこれを行う方法を知っていMongoTemplate
ますMongoRepository
。
このようなクエリを示すドキュメントを読んでいました
しかし、埋め込みドキュメントのフィールドを使用してクエリできるものは何も見つかりませんでした。
java - spring redis リポジトリを使用して保存された POJO の TTL を取得する
プロジェクトで Spring redis リポジトリを使用して、POJO を redis に永続化しています。次の例は、私が達成しようとしていることの詳細です。
上記の POJO のリポジトリは次のようになります。
@TimeToLive は、有効期限を redis に設定する際にうまく機能します。私のコードでは、timeToLive = 1200 の値を設定しようとしました。コードは次のようになります...
私の問題は、redis から POJO を取得しようとしたときに始まります。
上記のコードは、出力として常に 1200 を出力します。CLI から、redis に存在するオブジェクトの TTL が時間の経過とともに減少していることを確認できます。それでも、取得しようとしている POJO に設定されていません。
この POJO インスタンスの redis に設定されている ttl の現在の値を取得できないのはなぜですか?
spring redis リポジトリを使用してこれを達成する別の方法はありますか?
前もって感謝します!