OceanBase
English日本語简体中文
ドキュメントホーム
製品
エコシステム
リリース

データベース

OceanBase CloudOceanBaseデータベース

データベース

OceanBase CloudOceanBaseデータベース
OceanBase CloudOceanBaseデータベース

OceanBaseデータベース

  • エコシステム統合の概要
  • ORMフレームワーク
    • Java
      • SpringBootサンプルプログラム
      • SpringBatchサンプルプログラム
      • Spring JDBCサンプルプログラム
      • SpringDataJPAサンプルプログラム
      • Hibernateサンプルプログラム
      • MyBatisサンプルプログラム
    • Python
      • SQLAlchemyによるOceanBaseデータベース接続サンプルプログラム
      • peeweeによるOceanBaseデータベース接続サンプルプログラム
      • Tortoise ORM による OceanBase データベース接続サンプルプログラム
    • Go
      • GORMサンプルプログラム
    • Rust
      • SeaORM による OceanBase データベース接続サンプルプログラム
    • Ruby
      • ActiveRecordによるOceanBaseデータベース接続サンプルプログラム
      • Sequel で OceanBase データベースに接続するサンプルプログラム
      • Ruby on RailsによるOceanBaseデータベース接続サンプルプログラム
    • Node.js
      • SequelizeでOceanBaseデータベースに接続する
      • TypeORMを使用してOceanBaseデータベースに接続する
      • Prismaを使用してOceanBaseデータベースに接続する
      • Drizzle ORMを使用してOceanBaseデータベースに接続する
    • C#
      • Dapperを使用してOceanBaseデータベースに接続する
      • SqlSugarを使用してOceanBaseデータベースに接続する
      • FreeSQLを使用してOceanBaseデータベースに接続する
    • PHP
      • Yii 2.0 ORMサンプルプログラム
      • Laravel Eloquent ORMサンプルプログラム
  • データベースのバージョン管理
    • Liquibaseを使用したOceanBaseデータベースのバージョンの管理
    • Flywayを使用してOceanBaseデータベースを統合し、バージョン管理を実現する
  • データ統合
    • dbtを使用したOceanBaseデータの分析
    • Flink DirectLoadを使用したOceanBaseのダイレクトインポート
    • SeaTunnelを使用したOceanBaseデータの読み取りと同期
    • Maxwellを使用したOceanBaseデータの読み取り
    • Debeziumを使用してOceanBaseに接続し、データを取得する
    • Spark Catalogを使用してOceanBaseデータベースに接続する
    • Apache NiFiを使用してOceanBaseデータベースと統合する
  • SQL開発
    • WebLogicを使用してOceanBaseデータベースに接続する
    • DBeaverを使用してOceanBaseデータベースに接続する
    • Navicatを使用してOceanBaseデータベースに接続する
    • DataGripでOceanBaseデータベースに接続する
    • TablePlusでOceanBaseデータベースに接続する
    • DMSを使用したOceanBaseデータベースの管理
  • 編成とスケジューリング
    • AirflowとOceanBaseデータベースの連携
    • PowerJobとOceanBaseデータベースの連携
    • DolphinSchedulerにOceanBaseデータソースを設定する
    • LinkisとOceanBaseデータベースの統合
  • 可視化ツール
    • SupersetとOceanBaseを使用したデータ分析
    • Power BIでOceanBaseに接続してデータを取得する
    • Quick BIでOceanBaseに接続してデータを取得する
    • Bytebaseを使用したOceanBaseインスタンスの管理
  • データベース管理
    • NineDataを使用したOceanBaseデータソースの管理
    • Bytebaseを使用したOceanBaseインスタンスの管理
  • AI
    • OpenAI
    • Qwen
    • OceanBaseデータベースとLangChainの統合
    • OceanBaseデータベースのベクトル検索機能とLlamaIndexの連携
    • OceanBaseデータベースのベクトル検索機能とDifyの連携
    • OceanBaseデータベースとn8nの連携
    • OceanBase MCP ServerとTraeの連携
    • OceanBaseデータベースとSpring AI Alibabaの連携
    • OceanBase MCP ServerとClineの連携
    • OceanBase MCP ServerとCursorの連携
    • OceanBase MCP ServerとContinueの連携
    • Google GenAI Toolboxを使用して独自のOceanBase MCP Serverを構築する
    • OceanBaseデータベースとCamelAIの連携
    • OceanBase VectorとFirecrawlの連携
    • OceanBase VectorとHugging Faceの連携
    • OceanBase VectorとOllamaの連携
    • OceanBaseデータベースとGoogle Geminiの連携
    • OceanBase VectorとCloudflare Workers AIの連携
    • OceanBase VectorとJina AIの連携
    • OceanBase MCP ServerとAugment Codeの連携
    • OceanBase MCP ServerとClaude Codeの連携
    • OceanBase MCP ServerとKiroの連携

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBaseデータベース
  3. master

Hibernateサンプルプログラム

最終更新:2026-10-10 03:12:37

前提条件
操作手順
ステップ1:OceanBaseデータベースの接続文字列を取得する
ステップ2:java-oceanbase-hibernate プロジェクトをIDEAにインポートします
ステップ3:java-oceanbase-hibernate プロジェクトのデータベース接続情報を修正します。
ステップ4:java-oceanbase-hibernate プロジェクトを実行する
プロジェクトコードについて
pom.xmlのコード紹介
User.hbm.xmlのコード紹介
hibernate.cfg.xmlのコード紹介
UserDao.javaのコード紹介
User.javaのコード紹介
TestHibernate.javaのコード紹介
全コード表示
関連ドキュメント

本記事では、HibernateフレームワークとOceanBaseデータベースを使用して、テーブルの作成、データの挿入、クエリなどの基本的な操作を実現するアプリケーションの構築方法を紹介します。

クリックしてjava-oceanbase-hibernateサンプルプロジェクトをダウンロード

前提条件

  • OceanBaseデータベースがインストール済みであること。
  • JDK 1.8とMavenがインストール済みであること。
  • IntelliJ IDEAがインストール済みであること。

説明

この記事でコードを実行するために使用したツールは、IntelliJ IDEA 2021.3.2 (Community Edition)バージョンです。ご自身の好みに合わせて、適切なツールを選択してサンプルコードを実行することも可能です。

操作手順

説明

本記事で示されている操作手順は、Windows環境に基づいています。他のOS環境やコンパイラを使用している場合は、操作手順が若干異なる場合があります。

  1. OceanBaseデータベースの接続文字列を取得します。
  2. java-oceanbase-hibernate プロジェクトをIDEAにインポートします。
  3. java-oceanbase-hibernate プロジェクトのデータベース接続情報を修正します。
  4. java-oceanbase-hibernate プロジェクトを実行します。

ステップ1:OceanBaseデータベースの接続文字列を取得する

  1. OceanBaseデータベースのデプロイ担当者または管理者から、該当するデータベース接続文字列を取得します。

    obclient -hxx.xx.xx.xx -P2883 -uroot@sys#cluster -p**** -A
    
  2. デプロイ済みのOceanBaseデータベースに基づいて、以下のURLの対応する情報を入力します。

    説明

    hibernate.cfg.xml ファイルには、このURL情報が必要です。

    jdbc:oceanbase://host:port/schema_name?user=$user_name&password=$password
    

    パラメータの説明:

    • host:OceanBaseデータベースへの接続IPアドレスを提供します。ODP接続方式ではODPアドレスを使用し、直接接続方式ではOBServerノードのIPアドレスを使用します。
    • port:OceanBaseデータベースへの接続ポートを提供します。ODP接続方式のデフォルトポートは 2883 で、ODPデプロイ時にカスタマイズ可能です。直接接続方式のデフォルトポートは 2881 で、OceanBaseデータベースのデプロイ時にカスタマイズ可能です。
    • schema_name:アクセスするスキーマ名です。
    • user_name:-u パラメータで指定します。形式は、ユーザー名@テナント#クラスタ名 または ユーザー名@SERVICE:サービス名 です。ユーザー@テナント#クラスタ名 の形式を使用する場合、デフォルトのテナントは sys、管理者ユーザーは root です。データベースに直接接続する場合、クラスタ名を省略できますが、ODP接続の場合は入力する必要があります。
    • password:アカウントのパスワード。

詳細なURLパラメータの説明については、データベースURLを参照してください。

ステップ2:java-oceanbase-hibernate プロジェクトをIDEAにインポートします

  1. IntelliJ IDEA を起動し、File > Open... オプションを選択します。

    file

  2. ポップアップ表示された Open File or Project ウィンドウで、対応するプロジェクトファイルを選択し、OK をクリックすると、プロジェクトファイルのインポートが完了します。

  3. IntelliJ IDEAは、プロジェクト内のさまざまな種類のファイルを自動的に認識します。Project ツールウィンドウで、プロジェクトのディレクトリ構造、ファイルリスト、モジュールリスト、依存関係などの情報を確認することができます。Project ツールウィンドウは通常、IntelliJ IDEAインターフェースの一番左側にあり、デフォルトで表示されています。Project ツールウィンドウが表示されていない場合は、メニューバーの View > Tool Windows > Project とクリックするか、ショートカットキー Alt + 1 で再表示することができます。

    説明

    IntelliJ IDEAを使用してプロジェクトをインポートすると、IntelliJ IDEAはプロジェクト内のpom.xmlファイルを自動的に検出し、ファイルに記述されている依存関係に基づいて必要な依存ライブラリを自動的にダウンロードして、プロジェクトに追加します。

  4. プロジェクトの状況を確認します。

hibernate

ステップ3:java-oceanbase-hibernate プロジェクトのデータベース接続情報を修正します。

ステップ1:OceanBaseデータベースの接続文字列を取得する に記載されている情報に基づいて、hibernate.cfg.xml ファイル内のデータベース接続情報を修正します。

説明

JDBC接続文字列に追加のプロパティ情報を追加する必要がある場合は、データベースURL を参照してください。

例:

  • データベースドライバーの名前:com.mysql.cj.jdbc.Driver
  • OBServerノードのIPアドレスは 172.30.xxx.xxx です。
  • アクセスポートは2881を使用します。
  • アクセスするスキーマ名は test です。
  • テナントの接続アカウントは root@mysql001 です。mysql001 はOceanBaseデータベースで作成されたMySQLモードのユーザーテナントであり、root はテナント mysql001 のユーザー名です。
  • パスワードは ****** です。

サンプルコードは以下のとおりです:

<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://172.30.xxx.xxx:2881/test</property>
<property name="hibernate.connection.username">root@mysql001</property>
<property name="hibernate.connection.password">******</property>

ステップ4:java-oceanbase-hibernate プロジェクトを実行する

実行パス

  1. プロジェクト構造内の src > test > java から TestHibernate.java ファイルを見つけます。
  2. ツールメニューバーで 実行(U) > 実行 > TestHibernate を選択するか、右上の緑色の三角形を直接クリックして実行します。
  3. IDEAのコンソールを使用して、プロジェクトのログ情報と出力結果を確認します。

実行結果

User{id=2, name='update'}
User{id=3, name='user_insert3'}
User{id=4, name='user_insert4'}
User{id=5, name='user_insert5'}

プロジェクトコードについて

java-oceanbase-hibernateをクリックしてプロジェクトコードをダウンロードします。これは java-oceanbase-hibernate.zip という圧縮ファイルです。

解凍すると、java-oceanbase-hibernate という名前のフォルダが作成されます。ディレクトリ構造は以下のとおりです:

│--pom.xml
│
├─.idea
├─src
│  ├─main
│  │  ├─java
│  │  │  └─com
│  │  │      └─oceanbase
│  │  │          ├─dao
│  │  │          │   └─--UserDao.java
│  │  │          │
│  │  │          └─pojo
│  │  │              └─--User.java
│  │  │
│  │  └─resources
│  │      │--hibernate.cfg.xml
│  │      │
│  │      └─com
│  │          └─oceanbase
│  │              └─pojo
│  │                  └─--User.hbm.xml
│  │
│  └─test
│      └─java
│          └─--TestHibernate.java
│
└─target

ファイルの説明:

  • pom.xml:Mavenプロジェクトの設定ファイルで、プロジェクトの依存関係、プラグイン、ビルドなどの情報が含まれます。
  • .idea:IDE (統合開発環境)で使用されるディレクトリで、プロジェクト関連の設定情報を格納するために使用されます。
  • src:通常、プロジェクトのソースコードを格納するディレクトリを表すために使用されます。
  • main: 主要なソースコードとリソースファイルを格納するディレクトリです。
  • java:Javaソースコードを格納するディレクトリです。
  • com:Javaパッケージを格納するルートディレクトリです。
  • oceanbase: プロジェクトを格納するルートディレクトリです。
  • dao: データアクセスオブジェクト(Data Access Object)パッケージを格納するディレクトリで、データベースや他のデータストレージサービスにアクセスするために使用されます。
  • UserDao.java:ユーザーデータアクセスオブジェクトで、ユーザーデータの追加、削除、変更、クエリなどの操作に使用されます。
  • User.java:ユーザー永続化オブジェクトで、ユーザーデータテーブルのフィールドをマッピングするために使用されます。
  • pojo: 永続化オブジェクト(Plain Old Java Object)で、データベースに対応するJavaクラスを格納します。データベーステーブルや他のデータストレージ構造にマッピングするために使用されます。
  • resources: リソースファイルを格納するディレクトリで、設定ファイル、SQLファイルなどが含まれます。
  • hibernate.cfg.xml:Hibernateを格納する設定ファイルで、Hibernateの基本パラメータやデータソースの設定などの情報を設定するために使用されます。
  • User.hbm.xml: ユーザー永続化オブジェクトのマッピングファイルで、ユーザー永続化オブジェクトとユーザーデータテーブル間のマッピング関係を定義するために使用されます。
  • test: テストコードとリソースファイルを格納するディレクトリです。
  • TestHibernate.java:Hibernateのテスト用Javaクラスを格納します。
  • target: コンパイル後のClassファイル、JARパッケージなどのファイルを格納するディレクトリです。

pom.xmlのコード紹介

説明

例を確認するだけの場合、デフォルトコードを使用してください。修正する必要はありません。以下の説明に従って、必要に応じて pom.xml ファイルを修正することもできます。

pom.xml 設定ファイルの内容は以下のとおりです:

  1. ファイル宣言ステートメントです。

    このファイルがXMLファイルであり、使用しているXMLのバージョンが 1.0 で、文字エンコーディング方式が UTF-8 であることを宣言しています。

    コードは以下のとおりです:

    <?xml version="1.0" encoding="UTF-8"?>
    
  2. POMのネームスペースとPOMモデルバージョンを設定します。

    1. xmlns を使用して、POMのネームスペースを http://maven.apache.org/POM/4.0.0 と指定します。
    2. xmlns:xsi を使用して、XMLネームスペースを http://www.w3.org/2001/XMLSchema-instance と指定します。
    3. xsi:schemaLocation を使用して、POMのネームスペースを http://maven.apache.org/POM/4.0.0、POMのXSDファイルの場所を http://maven.apache.org/xsd/maven-4.0.0.xsd と指定します。
    4. <modelVersion> 要素を使用して、このPOMファイルで使用するPOMモデルのバージョンを 4.0.0 と指定します。

    コードは以下のとおりです:

    <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
    </project>
    
  3. 基本情報を設定します。

    1. <groupId> を使用して、プロジェクトの識別子を com.oceanbase と指定します。
    2. <artifactId> を使用して、プロジェクトの依存関係を java-oceanbase-hibernate と指定します。
    3. <version> を使用して、プロジェクトのバージョン番号を 1.0-SNAPSHOT と指定します。

    コードは以下のとおりです:

     <groupId>com.oceanbase</groupId>
     <artifactId>java-oceanbase-hibernate</artifactId>
     <version>1.0-SNAPSHOT</version>
    
  4. <build> タグを使用して、プロジェクトのビルドプロセスを定義します。

    1. <plugins> を使用して、プロジェクトで設定するプラグインを指定します。
    2. <plugin> を使用して、プロジェクトでプラグインを1つ設定します。
    3. <groupId> を使用して、プロジェクトの識別子を org.apache.maven.plugins と指定します。
    4. <artifactId> を使用して、プロジェクトの依存関係を maven-compiler-plugin と指定します。
    5. <configuration> を使用して、設定するプラグインのパラメータを指定します。
    6. <source> を使用して、コンパイラのソースコードバージョンを8と指定します。
    7. <target> を使用して、コンパイラのソースコードバージョンを8と指定します。

    コードは以下のとおりです:

     <build>
         <plugins>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
                     <source>8</source>
                     <target>8</target>
                 </configuration>
             </plugin>
         </plugins>
     </build>
    
  5. <dependencies> を使用して、プロジェクトが依存するコンポーネントを定義します。

    1. 依存関係が所属する組織を com.oceanbase、名前を oceanbase-client、バージョン番号を 2.4.2 と指定します。

      コードは以下のとおりです:

          <dependencies>
          <dependency>
              <groupId>com.oceanbase</groupId>
              <artifactId>oceanbase-client</artifactId>
              <version>2.4.2</version>
          </dependency>
          </dependencies>
      
    2. 依存関係が所属するテストアーキテクチャを junit、名前を junit、バージョン番号を 4.13 と指定します。

      コードは以下のとおりです:

          <dependencies>
          <dependency>
              <groupId>junit</groupId>
              <artifactId>junit</artifactId>
              <version>4.13</version>
          </dependency>
          </dependencies>
      
    3. 依存関係が所属するアーキテクチャを org.hibernate、コアライブラリを hibernate-core、バージョン番号を 5.2.17.Final と指定します。

      コードは以下のとおりです:

      <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.2.17.Final</version>
        </dependency>
      </dependencies>
      
    4. 依存関係が所属するアーキテクチャを org.hibernate、データソースを hibernate-c3p0、バージョン番号を 5.2.17.Final と指定します。

      コードは以下のとおりです:

      <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-c3p0</artifactId>
            <version>5.2.17.Final</version>
        </dependency>
      </dependencies>
      

User.hbm.xmlのコード紹介

User.hbm.xml ファイルは、Hibernateのマッピングファイルで、Javaオブジェクトをデータベースのテーブルにマッピングするために使用されます。

User.hbm.xml ファイルのコードには、主に以下の部分が含まれます:

  1. ファイル宣言ステートメントです。

    このファイルがXMLファイルであり、使用しているXMLのバージョンが 1.0 で、文字エンコーディング方式が UTF-8 であることを宣言しています。同時にHibernateマッピングファイルのDTDバージョンと場所を指定し、DTDドキュメントタイプを hibernate-mapping、バージョンを3.0、言語をEN、ファイルのURLを http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd と指定します

    コードは以下のとおりです:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    
  2. マッピングファイルを設定します。

    User という名前のエンティティクラスを test_hibernate_mysql という名前のデータベーステーブルにマッピングするHibernateマッピングファイルを定義します。

    1. package プロパティを使用して、マッピングファイル内のJavaパッケージを com.oceanbase.pojo と指定します。
    2. class タグを使用して、データテーブル内のデータをマッピングし、name プロパティでJavaクラス名を User、table プロパティでデータベーステーブル名を test_hibernate_mysql と指定します。
    3. id を使用して、主キープロパティを定義し、name プロパティでJavaクラス User のメンバー変数を id、column プロパティでデータベースフィールド名を USER_ID と指定します。
    4. generator を使用して、主キー生成戦略を定義します。class プロパティで主キージェネレーターのタイプを sequence、param 要素でデータベース内のシーケンス名を SQ_USER と指定します。name プロパティでこのプロパティがデータベーステーブル内の USER_NAME 列に対応することを指定し、データ型を文字列と指定します。

    コードは以下のとおりです:

    <hibernate-mapping package="com.oceanbase.pojo">
    <class name="User" table="test_hibernate_mysql">
        <!-- Configure primary key generation strategy -->
        <id name="id" column="USER_ID">
            <generator class="sequence">
                <param name="sequence">SQ_USER</param>
            </generator>
        </id>
        <!-- Configuration Tables and Properties -->
        <property name="name" column="USER_NAME" type="string"/>
    </class>
    </hibernate-mapping>
    

hibernate.cfg.xmlのコード紹介

hibernate.cfg.xml ファイルはHibernateの設定ファイルで、Hibernateの実行環境とデータベース接続パラメータを設定するために使用されます。

hibernate.cfg.xml ファイルのコードには、主に以下の部分が含まれます:

  1. ファイル宣言ステートメントです。

    このファイルがXMLファイルであり、使用しているXMLのバージョンが 1.0 で、文字エンコーディング方式が UTF-8 であることを宣言しています。同時にHibernate設定ファイルのDTDバージョンと場所を指定し、DTDドキュメントタイプを hibernate-configuration、バージョンを3.0、言語をEN、ファイルのURLを http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd と指定します。

    コードは以下のとおりです:

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    
  2. configuration パラメータを設定します。

    ルート要素内で 要素を使用して、Hibernateのセッションファクトリを設定します。セッションファクトリはセッションオブジェクトの作成と管理に使用されます。セッションファクトリには、データベースに接続するためのドライバークラス名、URL、ユーザー名とパスワード、接続プールの関連パラメータ、データベースの方言、SQL出力とフォーマット、データベーステーブルの自動作成、現在のセッションコンテキスト、バッチ処理と二次キャッシュなどの設定が含まれます。

    1. データベース情報を設定します。

      Hibernateとデータベース接続のパラメータを設定します。データベースに接続するためのドライバークラス名、URL、ユーザー名とパスワードが含まれます。

      • hibernate.connection.driver_class を使用して、データベースドライバープログラムを com.mysql.cj.jdbc.Driver と指定します。OceanBaseデータベースとの接続を確立するために使用されます。
      • hibernate.connection.url 要素を使用して、データベースのURLを指定します。データベースのアドレス、ポート番号、データベース名などの情報が含まれます。
      • hibernate.connection.username 要素を使用して、データベースに接続するユーザー名を指定します。
      • hibernate.connection.password 要素を使用して、データベースに接続するパスワードを指定します。

      コードは以下のとおりです:

          <property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
          <property name="hibernate.connection.url">jdbc:oceanbase://host:port/schema_name</property>
          <property name="hibernate.connection.username">user_name</property>
          <property name="hibernate.connection.password">******</property>
      
    2. 接続プールの情報を設定します。

      Hibernateで使用する接続プールの関連パラメータを設定します。接続プールをC3P0と指定します。パラメータの設定には、接続プールの最大接続数と最小接続数、タイムアウト時間、接続の最大アイドル時間、キャッシュされるStatementオブジェクトの数、接続のアイドルテスト時間、一度に取得する接続数、接続の検証方法が含まれます。

      説明

      以下のパラメータは参考用です。サポートされているパラメータの完全なリストではありません。他のパラメータを設定する必要がある場合は、関連ドキュメントを参照して、より詳細なパラメータ情報を入手してください。

      • hibernate.connection.provider_class を使用して、接続プールをC3P0と指定します。データベース接続の作成と解放を管理するために使用されます。
      • hibernate.c3p0.max_size を使用して、接続プールの最大接続数を60と指定します。
      • hibernate.c3p0.min_size を使用して、接続プールの最小接続数を30と指定します。
      • hibernate.c3p0.checkoutTimeout を使用して、接続プールが接続を取得するタイムアウト時間を30000ミリ秒と指定します。
      • hibernate.c3p0.timeout を使用して、接続プールの最大アイドル時間を2000ミリ秒と指定します。この時間を超えると接続は閉じられます。
      • hibernate.c3p0.max_statements を使用して、接続プールでキャッシュされる最大SQLステートメント数を100と指定します。
      • hibernate.c3p0.idle_test_period を使用して、接続プール内のアイドル接続の検出周期を3000ミリ秒と指定します。
      • hibernate.c3p0.acquire_increment を使用して、接続プールが動的に増加する場合の接続数の増分を3と指定します。
      • hibernate.c3p0.validate を使用して、接続プールの接続時の検証をtrueと指定します。

      コードは以下のとおりです:

      <property name="hibernate.connection.provider_class">org.hibernate.c3p0.internal.C3P0ConnectionProvider</property>
      <property name="hibernate.c3p0.max_size">60</property>
      <property name="hibernate.c3p0.min_size">30</property>
      <property name="hibernate.c3p0.checkoutTimeout">30000</property>
      <property name="hibernate.c3p0.timeout">20000</property>
      <property name="hibernate.c3p0.max_statements">100</property>
      <property name="hibernate.c3p0.idle_test_period">3000</property>
      <property name="hibernate.c3p0.acquire_increment">3</property>
      <property name="hibernate.c3p0.validate">true</property>
      
    3. SQLインタラクション情報を設定します。 Hibernateとデータベース接続の関連情報を設定します。データベースの方言、SQL出力とフォーマット、テーブルの自動作成、現在のセッションコンテキスト、バッチ処理サイズ、キャッシュの使用、マッピングファイルの読み込みが含まれます。

      • dialect を使用して、使用するデータベースの方言をMySQL 5.7と指定します。特定のデータベースとの互換性を確保するために使用されます。
      • hibernate.show_sql を使用して、Hibernateが生成するSQLステートメントをコンソールに出力するかどうかを設定します。
      • hibernate.format_sql を使用して、SQLステートメントをフォーマットして出力するかどうかを設定します。
      • hbm2ddl.auto を使用して、テーブルの自動作成を設定します。
      • current_session_context_class を使用して、スレッドレベルの現在のセッションコンテキストを使用することを指定します。
      • hibernate.jdbc.batch_size を使用して、バッチ処理のサイズを設定します。
      • hibernate.cache.use_second_level_cache を使用して、二次キャッシュを有効にするかどうかを設定します。
      • マッピングファイルとして com/oceanbase/pojo/User.hbm.xml を読み込むことを指定します。

      コードは以下のとおりです:

        <property name="dialect">org.hibernate.dialect.MySQL57Dialect</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hbm2ddl.auto">create</property>
        <property name="current_session_context_class">thread</property>
        <property name="hibernate.jdbc.batch_size">10</property>
        <property name="hibernate.cache.use_second_level_cache">false</property>
        <mapping resource="com/oceanbase/pojo/User.hbm.xml"/>
      

UserDao.javaのコード紹介

UserDao.java ファイルは、ユーザーデータアクセスオブジェクト(DAO)クラスを通じて、Sessionオブジェクトを使用したユーザーデータの追加、削除、変更、クエリの操作を実装しています。

UserDao.java ファイルのコードには、主に以下の部分が含まれます:

  1. 他のクラスとインターフェースをインポートします。

    このファイルに以下のインターフェースとクラスが含まれていることを宣言します:

    • User クラス:ユーザーオブジェクトを操作するために使用されます。
    • Session クラス:データベースとのインタラクションに使用されます。
    • SessionFactory クラス:Sessionインスタンスを作成するために使用されます。
    • Transaction クラス:データベースのトランザクションを管理するために使用されます。
    • Configuration クラス:Hibernateの設定ファイルを読み込むために使用されます。
    • Query クラス:クエリ操作を実行するために使用されます。
    • List インターフェース:クエリ結果セットを操作するために使用されます。

    コードは以下のとおりです:

    import com.oceanbase.pojo.User;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.query.Query;
    import java.util.List;
    
  2. UserDao クラスを定義します。

UserDao のJavaクラスは、データアクセスオブジェクトとして、ユーザーオブジェクトの永続化操作に使用されます。このクラスは、データベースとのインタラクションに関連する一連のメソッドをカプセル化し、ユーザーオブジェクトに対する追加、削除、変更、クエリなどの操作を行います。UserDao クラスのメソッドを呼び出すことで、データベースとのインタラクションを容易に実行し、永続化操作を実現できます。

  1. UserDao クラスのインスタンスを初期化します。

    オブジェクト初期化ブロックを使用して、クラスのインスタンス化プロセスで Session オブジェクトを初期化します。

    まず Configuration オブジェクトを作成し、configure メソッドを呼び出してHibernateの設定ファイル(hibernate.cfg.xml)を読み込みます。次に、buildSessionFactory メソッドを呼び出して SessionFactory オブジェクトを作成します。最後に、openSession メソッドを呼び出して Session オブジェクトを作成し、session 変数に代入します。

    コードは以下のとおりです:

    private Session session;
    {
        Configuration cfg = new Configuration().configure();
        // Create SessionFactory
        SessionFactory sessionFactory = cfg.buildSessionFactory();
        session = sessionFactory.openSession();
    } //Read the hibernate.cfg.xml file
    
  2. IDクエリに対応するユーザー情報を設定します。

    selectUserById メソッドを使用して、提供されたIDパラメータに対応するユーザー情報のクエリを実行します。

    session の get メソッドを使用して、渡された User.class と ID パラメータに基づいて、データベースから対応するIDのUserレコードを取得し、user 変数に格納します。

    コードは以下のとおりです:

    public User selectUserById(int ID) {
        User user = session.get(User.class, ID);
        return user;
    }
    
  3. ユーザー名に基づいてユーザー情報のクエリを実行します。

    selectUserbyName メソッドを使用して、ユーザー名に基づいてユーザー情報のクエリを実行します。 まず、HQL (Hibernate Query Language)ステートメントを定義して、指定された名前のユーザーデータをクエリするために使用されます。テーブル名は test_hibernate_mysql、テーブルエイリアスは u、クエリフィールド名は name です。Session オブジェクトの createQuery メソッドを使用して Query オブジェクトを作成し、HQLステートメントとエンティティクラスをパラメータとして渡します。Query オブジェクトの setParameter メソッドを使用して、クエリパラメータを設定します。0 はパラメータの位置を、name はパラメータの値を表します。Query オブジェクトの list メソッドを使用してクエリを実行し、クエリ結果を User オブジェクトのリストに変換します。

    コードは以下のとおりです:

    public List<User> selectUserbyName(String name) {
      String sql = "FROM test_hibernate_mysql u WHERE u.name =?";
      Query<User> query = session.createQuery(sql, User.class);
      query.setParameter(0, name);
      List<User> users = query.list();
      return users;
    }
    
  4. すべてのユーザーデータのクエリを実行します。

    selectUser メソッドを使用して、すべてのユーザーデータのクエリを実行するメソッドを実装します。 SQLステートメントを定義して、すべてのユーザーデータのクエリを実行するために使用されます。Session オブジェクトの createNativeQuery メソッドを使用して Query オブジェクトを作成し、SQLステートメントをパラメータとして渡します。次に、addEntity メソッドを使用して、エンティティクラス User をクエリに追加し、クエリ結果を User オブジェクトのリストに変換します。Query オブジェクトの getResultList メソッドを使用してクエリを実行し、クエリ結果をUserオブジェクトのリストに変換します。

    コードは以下のとおりです:

    public List<User> selectUser() {
        String sql = "SELECT * FROM test_hibernate_mysql";
        Query<User> query = session.createNativeQuery(sql).addEntity(User.class);
        List<User> users = query.getResultList();
        return users;
    }
    
  5. ユーザーデータを挿入します。

    insertUser メソッドを使用して、ユーザー情報を挿入します。 User タイプのパラメータ user を指定して、挿入するユーザーオブジェクトを渡します。Hibernate Sessionの beginTransaction メソッドを呼び出してトランザクションオブジェクトを作成し、変数 beginTransaction に格納します。save メソッドを使用して、ユーザーオブジェクトをデータベースに保存します。Session の getTransaction メソッドを呼び出して現在のトランザクションを取得します。commit メソッドを呼び出してトランザクションをコミットし、これまでの操作をデータベースに永続化し、挿入操作の結果を返します。

    コードは以下のとおりです:

    public int insertUser(User user) {
        // open transaction
        Transaction beginTransaction = session.beginTransaction();
        session.save(user);
        session.getTransaction().commit();
        return 1;
    }
    
  6. ユーザーデータを削除します。

    deleteUserById メソッドを使用して、渡されたIDに対応するユーザーレコードをデータベースから削除します。 整数型パラメータ id を指定して、削除するユーザーIDを渡すために使用します。Hibernate Sessionの beginTransaction メソッドを呼び出して、新しいトランザクションを開始します。get メソッドを使用して、指定されたユーザー ID とエンティティクラスタイプ(User.class)に対応するユーザーオブジェクトを取得します。delete メソッドを使用して、ユーザーオブジェクトを削除します。Session の getTransaction メソッドを呼び出して現在のトランザクションを取得します。commit メソッドを呼び出してトランザクションをコミットし、ユーザー情報の削除をデータベースに永続化し、削除操作の結果を返します。

    コードは以下のとおりです:

    public int deleteUserById(int id) {
        // open transaction
        session.beginTransaction();
        User user = session.get(User.class, id);
        session.delete(user);
        session.getTransaction().commit();
        return 1;
    }
    
  7. ユーザーデータを更新します。

    updateUserById メソッドを使用して、対応するユーザー情報を更新します。 User タイプのパラメータ user を指定して、更新するユーザーデータを指定します。Sessionオブジェクトの beginTransaction メソッドを使用して、トランザクションを開始します。Session オブジェクトの get メソッドを使用して、ユーザーIDに対応する User オブジェクトを取得します。Session オブジェクトの merge メソッドを使用して、渡された User オブジェクトと取得した User オブジェクトをマージし、渡されたユーザーデータをデータベースに更新します。Session オブジェクトの getTransaction メソッドを使用して現在のトランザクションを取得します。commit メソッドを呼び出してトランザクションをコミットし、更新操作の結果を返します。

    コードは以下のとおりです:

    public int updateUserById(User user) {
        // open transaction
        session.beginTransaction();
        User user1 = session.get(User.class, user.getId());
        session.merge(user);
        session.getTransaction().commit();
        return 1;
    }
    

User.javaのコード紹介

User.java ファイルは、ユーザーデータアクセスオブジェクト(DAO)クラスを通じて、Sessionオブジェクトを使用したユーザーデータの追加、削除、変更、クエリの操作を実装しています。

User.java ファイルのコードには、主に以下の部分が含まれます:

  1. 他のクラスをインポートします。

    このファイルがJPAアノテーションを使用して、関連クラスとデータベーステーブルのマッピング関係を設定していることを宣言します:

    • Column アノテーション:エンティティクラスのプロパティとデータベーステーブルの列の対応関係を識別するために使用されます。
    • Entity アノテーション:データベースのテーブルをマッピングするために使用されます。
    • GeneratedValue アノテーション:プロパティの値が自動生成されることを表すために使用されます。
    • GenerationType アノテーション:主キーの生成ポリシーを指定するために使用されます。
    • Id アノテーション:一意の識別プロパティを指定するために使用されます。
    • Table アノテーション:エンティティクラスに対応するテーブル名を表すために使用されます。

    コードは以下のとおりです:

    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Table;
    
  2. データベースのテーブルをマッピングします。

    データベーステーブルのエンティティクラスをマッピングし、エンティティクラスが対応するテーブル名を test_hibernate_mysql と指定します。

    コードは以下のとおりです:

    @Entity
    @Table(name = "test_hibernate_mysql")
    
  3. User クラスを定義します。

    データベース内の test_hibernate_mysql という名前のテーブルとのマッピングに使用されます。

    1. id と name の2つのプロパティを定義します。 アノテーションを使用して、User クラスの id と name プロパティとデータベーステーブルの列の対応関係を識別しました。 @Id アノテーションを使用して id 属性を主キーとして識別し、@GeneratedValue アノテーションを使用して主キーの生成ポリシーをシーケンスと指定し、@Column アノテーションを使用してプロパティとデータベーステーブルの列のマッピング関係を指定しました。id プロパティはユーザー ID を格納するために使用され、name プロパティはユーザー名を格納するために使用されます。

      コードは以下のとおりです:

      @Id
      @GeneratedValue(strategy = GenerationType.SEQUENCE)
      @Column(name = "user_id")
      private int id;
      
      @Column(name = "user_name")
      private String name;
      
    2. User オブジェクトを作成します。

      User クラスの2つのコンストラクタメソッドを定義して、User オブジェクトを作成するために使用されます。 1つのコンストラクタメソッドはパラメータなしで、Hibernateクエリ操作に使用されます。もう1つのコンストラクタメソッドはパラメータありで、id と name プロパティを初期化するために使用されます。

      コードは以下のとおりです:

      public User() {
      }
      
      public User(int id, String name) {
          this.id = id;
          this.name = name;
      }
      
    3. id と name の値を取得および設定します。

      User クラスの4つのメソッドを定義し、id と name プロパティの値を取得および設定するために使用されます。 getId メソッドは id 値を取得するために使用され、setId メソッドは id 値を設定するために使用されます。getName メソッドは、ユーザー名 name の値を取得するために使用されます。setName メソッドは、ユーザー名 name の値を設定するために使用されます。

      コードは以下のとおりです:

      public int getId() {
          return id;
      }
      
      public void setId(int id) {
          this.id = id;
      }
      
      public String getName() {
          return name;
      }
      
      public void setName(String name) {
          this.name = name;
      }
      
    4. User オブジェクトの文字列表現を返します。

      User クラスの toString メソッドをオーバーライドして、User オブジェクトの文字列表現を返すために使用されます。 @Override を定義して、親クラスの同名メソッドを上書きします。toString メソッドを定義して、User オブジェクトの文字列表現を返すために使用します。文字列連結を使用して、id と name プロパティの値を文字列としてフォーマットし、呼び出し元の User に返します。

      コードは以下のとおりです:

      @Override
      public String toString() {
          return "User{" +
                  "id=" + id +
                  ", name='" + name + '\'' +
                  '}';
      }
      

TestHibernate.javaのコード紹介

TestHibernate.java ファイルは、UserDao オブジェクトに対する挿入、削除、更新、クエリの操作を実行することで、Hibernateの基本的なデータベース操作機能を示しています。

TestHibernate.java ファイルのコードには、主に以下の部分が含まれます:

  1. 他のクラスとインターフェースをインポートします。

    このファイルに関連するクラスとインターフェースを宣言します。UserDao、User、Session、SessionFactory、Configuration などが含まれます。

    • UserDao クラス:ユーザー関連のデータベース操作を実行するために使用されます。
    • User クラス:ユーザーオブジェクトを操作するために使用されます。
    • Session クラス:データベースとのセッション操作に使用されます。
    • SessionFactory クラス:Sessionオブジェクトを作成するために使用されます。
    • Configuration クラス:Hibernateを設定するために使用されます。
    • SessionImpl クラス:基盤となるJDBC接続を取得するために使用されます。
    • Test アノテーション:テストメソッドをマークするために使用されます。
    • IOException クラス:I/O例外を処理するために使用されます。
    • Connection クラス:JDBC接続を取得するために使用されます。
    • SQLException クラス:SQL例外を処理するために使用されます。
    • List クラス:クエリ結果セットを格納するために使用されます。
    • UUID クラス:一意の識別子を生成するために使用されます。

    コードは以下のとおりです:

    import com.oceanbase.dao.UserDao;
    import com.oceanbase.pojo.User;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.internal.SessionImpl;
    import org.junit.Test;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.List;
    import java.util.UUID;
    
  2. testHibernate メソッドを定義します。 testHibernate メソッドには、挿入、削除、更新、クエリなどの基本的な操作が含まれます。 UserDao オブジェクトを作成し、ループ処理で5件のユーザーデータを挿入します。insertUser メソッドを呼び出してユーザーデータを挿入します。deleteUserById メソッドを呼び出して、idが1のユーザーデータを削除します。updateUserById メソッドを呼び出して、idが2のユーザーデータを更新します。selectUser メソッドを呼び出して、すべてのユーザーデータのクエリを実行します。クエリ結果をイテレーションしてコンソールに出力します。

    コードは以下のとおりです:

    public class TestHibernate {
        @Test
        public void testHibernate() throws SQLException, IOException {
            UserDao userDao = new UserDao();
            for (int i = 1; i <= 5; i++) {
                userDao.insertUser(new User(i, "user_insert" + i));
            }
            int deleteUserById = userDao.deleteUserById(1);
            int update = userDao.updateUserById(new User(2, "update"));
            List<User> users = userDao.selectUser();
            users.forEach(System.out::println);
        }
    }
    

全コード表示

pom.xml
User.hbm.xml
hibernate.cfg.xml
UserDao.java
User.java
TestHibernate.java
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.oceanbase</groupId>
    <artifactId>java-oceanbase-hibernate</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.27</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.2.17.Final</version>
        </dependency>
        <!-- Hibernate c3p0 connection pool-->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-c3p0</artifactId>
            <version>5.2.17.Final</version>
        </dependency>

    </dependencies>

</project>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.oceanbase.pojo">
    <class name="User" table="test_hibernate_mysql">
        <!-- Configure primary key generation strategy -->
        <id name="id" column="USER_ID">
            <generator class="sequence">
                <param name="sequence">SQ_USER</param>
            </generator>
        </id>
        <!-- Configuration Tables and Properties -->
        <property name="name" column="USER_NAME" type="string"/>
    </class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>

    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://host:port/schema_name</property>
        <property name="hibernate.connection.username">user_name</property>
        <property name="hibernate.connection.password">******</property>
        <property name="hibernate.connection.provider_class">org.hibernate.c3p0.internal.C3P0ConnectionProvider</property>
        <property name="hibernate.c3p0.max_size">60</property>
        <property name="hibernate.c3p0.min_size">30</property>

        <property name="hibernate.c3p0.checkoutTimeout">30000</property>
        <property name="hibernate.c3p0.timeout">20000</property>

        <property name="hibernate.c3p0.max_statements">100</property>
        <property name="hibernate.c3p0.idle_test_period">3000</property>
        <property name="hibernate.c3p0.acquire_increment">3</property>
        <property name="hibernate.c3p0.validate">true</property>

        <property name="dialect">org.hibernate.dialect.MySQL57Dialect</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hbm2ddl.auto">create</property>
        <property name="current_session_context_class">thread</property>
        <property name="hibernate.jdbc.batch_size">10</property>
        <property name="hibernate.cache.use_second_level_cache">false</property>
        <mapping resource="com/oceanbase/pojo/User.hbm.xml"/>
    </session-factory>
</hibernate-configuration>
package com.oceanbase.dao;

import com.oceanbase.pojo.User;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.query.Query;

import java.util.List;


public class UserDao {
    private Session session;
    {
        Configuration cfg = new Configuration().configure();
        // Create SessionFactory
        SessionFactory sessionFactory = cfg.buildSessionFactory();
        session = sessionFactory.openSession();
    } //Read the hibernate.cfg.xml file
//    private Session session = HibernateUtil.getSession();

    public User selectUserById(int ID) {
        User user = session.get(User.class, ID);
        return user;
    }

    public List<User> selectUserbyName(String name) {
        String sql = "FROM test_hibernate_mysql u WHERE u.name =?";
        Query<User> query = session.createQuery(sql, User.class);
        query.setParameter(0, name);
        List<User> users = query.list();
        return users;
    }

    public List<User> selectUser() {
        String sql = "SELECT * FROM test_hibernate_mysql";
        Query<User> query = session.createNativeQuery(sql).addEntity(User.class);
        List<User> users = query.getResultList();
        return users;
    }

    public int insertUser(User user) {
        // open transaction
        Transaction beginTransaction = session.beginTransaction();
        session.save(user);
        session.getTransaction().commit();
        return 1;
    }

    public int deleteUserById(int id) {
        // open transaction
        session.beginTransaction();
        User user = session.get(User.class, id);
        session.delete(user);
        session.getTransaction().commit();
        return 1;
    }

    public int updateUserById(User user) {
        // open transaction
        session.beginTransaction();
        User user1 = session.get(User.class, user.getId());
        session.merge(user);
        session.getTransaction().commit();
        return 1;
    }

}
package com.oceanbase.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;


@Entity
@Table(name = "test_hibernate_mysql")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    @Column(name = "user_id")
    private int id;

    @Column(name = "user_name")
    private String name;

    public User() {
    }

    public User(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}
import com.oceanbase.dao.UserDao;
import com.oceanbase.pojo.User;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.internal.SessionImpl;
import org.junit.Test;

import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import java.util.UUID;


public class TestHibernate {
    @Test
    public void testHibernate() throws SQLException, IOException {
        UserDao userDao = new UserDao();
        for (int i = 1; i <= 5; i++) {
            userDao.insertUser(new User(i, "user_insert" + i));
        }
        int deleteUserById = userDao.deleteUserById(1);
        int update = userDao.updateUserById(new User(2, "update"));
        List<User> users = userDao.selectUser();
        users.forEach(System.out::println);
    }
}

関連ドキュメント

OceanBase Connector/Jの詳細については、OceanBase JDBCドライバーを参照してください。

前のトピック

SpringDataJPAサンプルプログラム
前へ

次のトピック

MyBatisサンプルプログラム
次へ
このページの内容
前提条件
操作手順
ステップ1:OceanBaseデータベースの接続文字列を取得する
ステップ2:java-oceanbase-hibernate プロジェクトをIDEAにインポートします
ステップ3:java-oceanbase-hibernate プロジェクトのデータベース接続情報を修正します。
ステップ4:java-oceanbase-hibernate プロジェクトを実行する
プロジェクトコードについて
pom.xmlのコード紹介
User.hbm.xmlのコード紹介
hibernate.cfg.xmlのコード紹介
UserDao.javaのコード紹介
User.javaのコード紹介
TestHibernate.javaのコード紹介
全コード表示
関連ドキュメント