タグ付けされた質問 「spring-data」

Spring Dataは、特定のデータベースに固有の多数のサブプロジェクトを含む包括的なオープンソースプロジェクトです。プロジェクトは、これらのエキサイティングなテクノロジーの背後にある多くの企業やコミュニティと協力して開発されています。

1
Spring Dataリポジトリは実際にどのように実装されていますか?
私のプロジェクトではSpring Data JPAリポジトリをしばらく使用しており、以下の点を知っています。 リポジトリインターフェースでは、findByCustomerNameAndPhone()(ドメインオブジェクトのフィールドであるcustomerNameと仮定して)などのメソッドを追加できphoneます。 次に、Springは、実行時に(アプリケーションの実行中に)上記のリポジトリインターフェースメソッドを実装することにより、実装を提供します。 これがどのようにコーディングされているかに興味があり、Spring JPAのソースコードとAPIを確認しましたが、以下の質問に対する回答が見つかりませんでした。 実行時に生成されるリポジトリ実装クラスと、実装および注入されるメソッドはどのようになっていますか? Spring Data JPAはCGlibまたはバイトコード操作ライブラリを使用してメソッドを実装し、動的に注入しますか? 上記のクエリを支援し、サポートされているドキュメントを提供してもらえますか?

5
Spring DAO対Spring ORM対Spring JDBC
私はSpringでサポートされているデータアクセステクノロジーを使用していて、複数のオプションについて言及していて、それらの違いについてはわかりません。 Spring-DAO(http://docs.spring.io/spring/docs/2.0.8/reference/dao.html) Spring-ORM(http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/orm.html) Spring-JDBC(http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/jdbc.html) 私が理解しているように、Spring JDBCには、従来の方法でデータベースにアクセスするための定型コードを削減するためのテンプレートが用意されています。つまり、独自のSQLクエリを記述します。 Spring-ORMは、Hibernate、My(i)BatisなどのORMテクノロジーを介してデータベースにアクセスするための簡略化されたテンプレートを提供します。 SpringのウェブサイトによるSpring-DAO: Springのデータアクセスオブジェクト(DAO)サポートは、JDBC、Hibernate、JDOなどのデータアクセステクノロジーを一貫した方法で簡単に操作できるようにすることを目的としています ORMとJDBCは、DBにアクセスするさまざまな方法を対象としているため、私は少し明確です。しかし、Spring-DAOは混乱を招くだけです。 誰もがこれらの3つの間の違いを正確に何を明確にしてくれますか?どのシナリオでどちらを優先すべきですか? また、別のプロジェクトSpring-DATAも利用できます(http://projects.spring.io/spring-data/)これは、Springによってサポートされるすべてのデータアクセス技術の親プロジェクトの一種ですか、それともSpringの新しい名前だけですか? -DAO?

4
Spring Data JPA埋め込みオブジェクトプロパティによる検索
Spring Data JPAリポジトリインターフェイスメソッドシグネチャを記述して、そのエンティティに埋め込まれたオブジェクトのプロパティを持つエンティティを検索できるようにします。これが可能かどうか、そして可能であればどうすればいいですか? これが私のコードです: @Entity @Table(name = "BOOK_UPDATE_QUEUE", indexes = { uniqueConstraints = @UniqueConstraint(columnNames = { "bookId", "region" }, name = "UK01_BOOK_UPDATE_QUEUE")) public class QueuedBook implements Serializable { @Embedded @NotNull private BookId bookId; ... } @Embeddable public class BookId implements Serializable { @NotNull @Size(min=1, max=40) private String bookId; @NotNull @Enumerated(EnumType.STRING) …

4
CrudRepository#findOneメソッドがありません
私のプロジェクトではSpring 5を使用しています。今日まで利用可能な方法がありましたCrudRepository#findOne。 しかし、最新のスナップショットをダウンロードした後、それは突然消えました!メソッドが現在利用できないというリファレンスはありますか? 私の依存リスト: apply plugin: 'java' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' repositories { mavenCentral() maven { url "https://repo.spring.io/snapshot" } maven { url "https://repo.spring.io/milestone" } } dependencies { compile 'org.springframework.boot:spring-boot-starter-data-jpa' runtime 'com.h2database:h2:1.4.194' } 更新: このメソッドは置き換えられたようです CrudRepository#findById

7
Spring Data:「削除者」はサポートされていますか?
データベースアクセスにSpring JPAを使用しています。メソッドの実装を記述する必要がない、findByNameやcountByNameなどの例を見つけることができます。ある条件に基づいてレコードのグループを削除する例を見つけたいと思っています。 Spring JPAはdeleteByNameのような削除をサポートしていますか?どんなポインタでも大歓迎です。 よろしくお願いいたします。

3
Spring DataのMongoTemplateとMongoRepositoryの違いは何ですか?
spring-dataとmongodbを使用して複雑なクエリを実行できるアプリケーションを作成する必要があります。私はMongoRepositoryを使用することから始めましたが、例を見つけたり、構文を実際に理解したりするための複雑なクエリに苦労していました。 私はこのようなクエリについて話している: @Repository public interface UserRepositoryInterface extends MongoRepository<User, String> { List<User> findByEmailOrLastName(String email, String lastName); } または、構文が正しくないので試行錯誤して試したJSONベースのクエリの使用。mongodbのドキュメントを読んだ後でも(構文が正しくないため機能しない例)。 @Repository public interface UserRepositoryInterface extends MongoRepository<User, String> { @Query("'$or':[{'firstName':{'$regex':?0,'$options':'i'}},{'lastName':{'$regex':?0,'$options':'i'}}]") List<User> findByEmailOrFirstnameOrLastnameLike(String searchText); } すべてのドキュメントを読んだ後、それmongoTemplateははるかにドキュメント化されているようですMongoRepository。私は次のドキュメントを参照しています: http://static.springsource.org/spring-data/data-mongodb/docs/current/reference/html/ より便利で強力な使い方を教えてください。mongoTemplateまたはMongoRepository?どちらも成熟していますか、それとも一方が他方よりも多くの機能を欠いていますか?

6
Spring Data JPAは、ネイティブクエリ結果を非エンティティPOJOにマップします
ネイティブクエリを使用したSpringDataリポジトリメソッドがあります @Query(value = "SELECT g.*, gm.* FROM group g LEFT JOIN group_members gm ON g.group_id = gm.group_id and gm.user_id = :userId WHERE g.group_id = :groupId", nativeQuery = true) GroupDetails getGroupDetails(@Param("userId") Integer userId, @Param("groupId") Integer groupId); 結果を非エンティティPOJOにマップしたいと思いGroupDetailsます。 それは可能ですか?もしそうなら、例を挙げていただけますか?

6
Spring BootとMongoDBへの接続の詳細を構成する方法は?
Spring Bootを初めて使用するので、MongoDBの接続の詳細をどのように構成できるのか疑問に思っています。通常の例を試しましたが、接続の詳細については説明していません。 使用するデータベースと、MongoDBを実行するホストのURL /ポートを指定したいと思います。 ヒントやヒントはありますか?

4
@RestControllerと@RepositoryRestResourceをいつ使用するか
私はRESTでSpringを使用する方法のさまざまな例を見てきました。私たちの最終目標は春のHATEOAS/HALセットアップです Spring内でRESTをレンダリングするための2つの異なる方法を見てきました @RestControllerコントローラ内経由 @RepositoryRestResourceリポジトリ内経由 私が見つけるのに苦労しているのは、なぜ一方を他方の上に使用するのかということです。HALどちらが最適かを実装しようとすると? 私たちのデータベースバックエンドはNeo4jです。

1
複数のin演算子を使用したcrudrepositoryfindByメソッドシグネチャ?
私はこのようなエンティティクラスを持っています: @Entity @Table(name = "EMAIL") class Email{ @Id @Column(name = "Id") Long id; @Column(name = "EMAIL_ID") String emailId; @Column(name = "PIN_CODE") String pincode; } findBycrudrepository spring data jpaを使用して以下のクエリのメソッドを作成するにはどうすればよいですか? select email_id,name from email_details where eamil_id in('mike@gmail.com','ram@gmail.com') and pin_code in('633677','733877') 以下のような春のデータjpaメソッドを期待していますが、どのように構築するのですか? List<Email> findBy.....(List<String> emails, List<String> pinCodes); 1回のデータベースヒットでメールのリストを取得したい。

4
Spring Dataで@Transactionalを使用する方法は?
Spring-data、Hibernate、MySQL、JPAプロジェクトに取り組み始めたところです。手作業でクエリを作成することを心配する必要がないように、Springデータに切り替えました。 @Transactionalアノテーションなしでクエリも試したので、spring-dataを使用している場合はを使用する必要がないことに気付きました。 @Transactionalアノテーションを使用すべき/使用すべきでない特定の理由はありますか? 作品: @Transactional public List listStudentsBySchool(long id) { return repository.findByClasses_School_Id(id); } また動作します: public List listStudentsBySchool(long id) { return repository.findByClasses_School_Id(id); } 前もって感謝します!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.