つばねブートスタータデータJPA依存性を使用し、org.springframework.data.jpa.repository.JpaRepositoryによってリポジトリクラスを拡張する場合、この「普通JPA」または休止状態でありますか?スプリングブートJpa:デフォルトとして休止状態?
違いは何ですか?
つばねブートスタータデータJPA依存性を使用し、org.springframework.data.jpa.repository.JpaRepositoryによってリポジトリクラスを拡張する場合、この「普通JPA」または休止状態でありますか?スプリングブートJpa:デフォルトとして休止状態?
違いは何ですか?
JPA
はインターフェイスであり、Hibernate
が実装です。デフォルトでは、Spring
はデフォルトのJPAベンダーとしてHibernateを使用します。必要に応じて、他の参照実装を使用することもできます。 SpringプロジェクトのJava PersistenceについてはEclipseLink
を参照してください。ドキュメントから
:
春データJPAは大幅に実際に必要 だ量に労力を減らすことによって データアクセス層の実装を改善することを目指しています。開発者は、カスタムファインダメソッドを含む のリポジトリインタフェースを作成し、Springは自動的に の実装を提供します。
春データJPAは、のような高レベルのAPIを働き、あなたは基礎となる永続性プロバイダがどうなるかを指定する必要があります。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
</dependency>
Mavenの
1)Eclipseのリンクコンフィグ
春の設定
@SpringBootApplication
public class Application extends JpaBaseConfiguration {
protected Application(DataSource dataSource, JpaProperties properties,
ObjectProvider<JtaTransactionManager> jtaTransactionManagerProvider,
ObjectProvider<TransactionManagerCustomizers> transactionManagerCustomizers) {
super(dataSource, properties, jtaTransactionManagerProvider, transactionManagerCustomizers);
}
@Override
protected AbstractJpaVendorAdapter createJpaVendorAdapter() {
return new EclipseLinkJpaVendorAdapter();
}
2)にHibernateコンフィグ
Mavenの
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
</dependency>
スプリングセットアップ
@SpringBootApplication
class SimpleConfiguration {}
ザッツ設定することが必要とされているすべての - 休止状態のプロバイダー。もちろん、
JPAは仕様は、Hibernateは仕様の実装である(https://github.com/spring-projects/spring-data-examples/に基づく)で定義されたプロジェクトに基づいており、あなたの
例内のすべての主要なデータソースプロパティを定義する必要があります。 –
SpringデータJPAはJPAのデフォルト実装としてHibernateを使用します。 –
「plain JPA」のようなものはありませんか?デフォルトでは休止状態が使用されていますか? –