検索
ホームページJava&#&チュートリアルHibernate は Spring フレームワークとどのように統合しますか?

Hibernate を Spring フレームワークに統合するには、Maven 依存関係を追加し、EntityManager Bean を作成し、永続的な例外変換を有効にします。

Hibernate 如何与 Spring 框架集成?

#Hibernate を Spring フレームワークに統合するにはどうすればよいですか?

はじめに

Hibernate はオブジェクト リレーショナル マッピング (ORM) の永続化フレームワークであり、Spring は人気のある Java アプリケーション フレームワークです。 Hibernate を Spring に統合すると、データベース アクセスが簡素化され、エンタープライズ グレードの機能が提供されます。

統合手順

1. 依存関係の追加

Maven プロジェクトの pom.xml ファイルに次のコードを追加します。依存関係項目:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

2. データ ソースの構成

Spring 構成ファイル (application.properties など) で、データベース接続の詳細を構成します:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=user
spring.datasource.password=password

3. EntityManager Bean の作成

#データベースとの対話を管理する EntityManagerFactoryBean Bean を作成します:

@Bean
public EntityManagerFactory entityManagerFactory() {
  HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
  vendorAdapter.setGenerateDdl(true);

  LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
  factory.setDataSource(dataSource());
  factory.setJpaVendorAdapter(vendorAdapter);
  factory.setPackagesToScan("com.example.myproject.entity");
  return factory.getObject();
}

4. トランザクション マネージャーを構成します。 ##トランザクションを管理する PlatformTransactionManager Bean を作成します:

@Bean
public PlatformTransactionManager transactionManager(@Qualifier("entityManagerFactory") EntityManagerFactory emf) {
  JpaTransactionManager transactionManager = new JpaTransactionManager();
  transactionManager.setEntityManagerFactory(emf);
  return transactionManager;
}

5. 永続的な例外の変換を有効にする

Spring 構成に次のプロパティを追加して、永続的な例外を有効にします。ファイル翻訳:

spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true

実用的なケース

次の Java コードは、Hibernate を使用してエンティティを保存する方法を示しています:

@Entity
public class Person {
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Long id;
  private String name;
}

@Service
public class PersonService {
  @Autowired
  private EntityManagerFactory entityManagerFactory;

  public void save(Person person) {
    EntityManager entityManager = entityManagerFactory.createEntityManager();
    entityManager.getTransaction().begin();
    entityManager.persist(person);
    entityManager.getTransaction().commit();
  }
}

以上がHibernate は Spring フレームワークとどのように統合しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。