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

データベース

OceanBase CloudOceanBaseデータベース

データベース

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

OceanBase Cloud

  • 製品アップデート
    • What's new
      • 2026年リリース履歴
      • 2025年リリース履歴
      • 2024年リリース履歴
      • バージョン履歴
    • Product announcements
      • OceanBase Alibaba Cloudプロキシクラスタの基盤コンポーネントのアップグレードに関するお知らせ
      • AIサービスモデルの追加・削除に関するお知らせ
      • データ開発機能のサービス終了に関するお知らせ
      • バックアップ・リストアの商用化戦略の最適化
      • データベースプロキシの課金変更について
      • AWSインスタンスの料金調整について
      • OMS 無料提供対象インスタンスの正式課金開始に関するお知らせ
      • OceanBaseのAWSチャネルにおけるトラフィック料金調整に関するお知らせ
  • プロダクトの紹介
    • OceanBase Cloudの概要
    • 管理モードと適用シナリオ
    • コア機能
      • クロスクラウドアクティブ-アクティブによる高可用性の実現
      • クロスクラウドのプライマリ/スタンバイデータベースによる高可用性の実現
      • 多層的オンラインスケーリングとオンデマンド構成変更
    • デプロイプラン
    • 製品仕様
    • プロダクト課金
      • 請求の概要
      • インスタンス課金説明
        • Alibaba Cloudインスタンスの課金
        • Huawei Cloudインスタンスの課金
        • AWSインスタンスの課金
        • Google Cloud(GCP)インスタンスの課金
        • Azureインスタンスの課金
      • バックアップとリストアの課金
      • SQL監査の料金説明
      • データ移行の料金に関する説明
      • データベースプロキシの課金について
      • Binlogサービスの料金説明
      • 読み取り専用レプリカの料金説明
      • AIモデルの課金に関する説明
    • サポートするデータベースバージョン
  • クイックスタート
    • フラッグシップ版クイックスタート
    • フラッグシップ版クラスタインスタンスの作成
    • テナントの作成
    • データベースの使用
  • DBaaS インスタンスの使用
    • フラッグシップ版インスタンスの使用
      • フラッグシップ版インスタンスの概要
      • インスタンスの作成
        • 概要
        • OceanBase Cloud公式サイト経由での作成
        • AWS Marketplace経由での作成
        • GCP Marketplace経由での作成
        • Huawei Cloud Marketでインスタンスを作成する
        • Alibaba Cloud Marketplace経由での作成
        • Azure Marketplaceでインスタンスを作成する
      • インスタンスへの接続
        • ネットワーク接続の設定
          • 概要
          • パブリックIPアドレスを使用したデータベースへの接続
          • Azure Private Linkを使用したデータベースへの接続
          • Google Cloud Private Service Connectを使用したデータベースへの接続
          • Huawei Cloud VPCエンドポイントを使用してデータベースに接続する
          • Huawei Cloudピアリング接続を使用してデータベースに接続する
          • AWS PrivateLink を使用したデータベースへの接続
          • AWSピアリング接続を使用してデータベースに接続する
          • Alibaba Cloudのプライベートネットワーク接続を使用したデータベース接続
        • MySQL モード接続
          • クライアントを介した接続
            • デスクトップ版 ODC を使用した OceanBase Cloud クラウドデータベースへの接続
            • MySQLクライアントを使用したOceanBase Cloudへの接続
            • OBClient を使用した OceanBase Cloud クラウドデータベースへの接続
          • ドライバー/ORM フレームワークを介した接続
            • Java
              • SpringBootを使用してOceanBase Cloudデータベースに接続するサンプルプログラム
              • SpringBatchでOB Cloudデータベースに接続するサンプルプログラム
              • Spring JDBCを使用したOceanBase Cloud接続のサンプルプログラム
              • SpringDataJPA による OB Cloud への接続サンプルプログラム
              • Hibernate を使用して OceanBase Cloud クラウドデータベースに接続するサンプルプログラム
              • MyBatis を使用して OceanBase Cloud データベースに接続するサンプルプログラム
              • MySQL Connector/J を使用して OceanBase Cloud データベースに接続するサンプルプログラム
              • TestContainers Java を使用して OceanBase Cloud データベースに接続するサンプルプログラム
            • Python
              • mysqlclient を使用した OceanBase Cloud クラウドデータベース接続のサンプルプログラム
              • PyMySQL による OceanBase Cloud データベース接続のサンプルプログラム
              • MySQL-connector-pythonによるOceanBase Cloud接続のサンプルプログラム
              • SQLAlchemyを使用したOceanBase Cloudへの接続サンプルプログラム
              • Djangoを使用したOceanBase Cloud接続のサンプルプログラム
              • peeweeを使用したOceanBase Cloudへの接続サンプルプログラム
            • C
              • MySQL Connector/C を使用した OceanBase Cloud データベースへの接続サンプルプログラム
            • Go
              • Go-SQL-Driver/MySQL を使用して OceanBase Cloud クラウドデータベースに接続するサンプルプログラム
              • GORM を使用した OceanBase Cloud データベース接続のサンプルプログラム
            • PHP
              • EXTドライバを使用してOceanBase Cloudへ接続するサンプルプログラム
              • MySQLiドライバを使用したOceanBase Cloudへの接続
              • PDOドライバを使用したOceanBase Cloudへの接続
            • Rust
              • Rustを使用したOceanBase Cloud接続のサンプルプログラム
              • SeaORM を使用した OceanBase Cloud クラウドデータベース接続のサンプルプログラム
            • Ruby
              • ActiveRecordによるOceanBase Cloud接続のサンプルプログラム
              • mysql2 を使用した OceanBase Cloud クラウドデータベース接続のサンプルプログラム
              • Sequelを使用したOceanBase Cloudへの接続サンプルプログラム
          • データベース接続プールの使用
            • データベース接続プールの設定
            • Tomcat接続プールを使用してOceanBase データベースに接続するサンプルプログラム
            • C3P0 コネクションプールを使用して OceanBase データベースに接続するサンプルプログラム
            • Proxoolコネクションプールを使用してOceanBaseデータベースに接続するサンプルプログラム
            • HikariCP コネクションプールを使用して OceanBase データベースに接続するサンプルプログラム
            • DBCPコネクションプールを使用してOceanBaseデータベースに接続するサンプルプログラム
            • Commons Pool を使用して OceanBase データベースに接続するサンプルプログラム
            • Druid コネクションプールを使用して OceanBase データベースに接続するサンプルプログラム
        • Oracle モード接続
          • クライアントを介した接続
            • OBClientを使用してOceanBase Cloudデータベースに接続する
            • デスクトップ版ODCによるOceanBase Cloudデータベースへの接続
          • ドライバー/ORM フレームワークを介した接続
            • Java
              • OceanBase Connector/J による OceanBase Cloud クラウドデータベース接続サンプルプログラム
              • SpringBootでOceanBase Cloudデータベースに接続するサンプルプログラム
              • SpringBatchでOceanBase Cloudに接続するサンプルプログラム
              • Spring JDBCによるOceanBase Cloudデータベース接続サンプルプログラム
              • SpringDataJPA による OceanBase Cloud クラウドデータベース接続サンプルプログラム
              • HibernateでOceanBase Cloudに接続するサンプルプログラム
              • MyBatisでOceanBase Cloudに接続するサンプルプログラム
              • JfinalによるOceanBase Cloudデータベース接続サンプルプログラム
            • Python
              • Pythonドライバーを使用してOceanBase CloudのOracleモードに接続する方法
            • C/C++
              • OceanBase Connector/C による OceanBase Cloud への接続サンプルプログラム
              • OceanBase Connector/ODBC による OceanBase Cloud クラウドデータベース接続サンプルプログラム
              • SqlSugar による OceanBase Cloud への接続サンプルプログラム
          • データベース接続プールの使用
            • データベース接続プールの設定
            • Tomcat接続プールを使用したOceanBase Cloudデータベース接続サンプルプログラム
            • C3P0接続プールでOceanBase Cloudに接続するサンプルプログラム
            • Proxool接続プールを使用したOceanBase Cloudデータベース接続サンプルプログラム
            • HikariCP接続プールを使用したOceanBase Cloudデータベース接続サンプルプログラム
            • DBCP接続プールを使用したOceanBase Cloudデータベース接続サンプルプログラム
            • Commons Pool による OceanBase Cloud への接続サンプルプログラム
            • Druid接続プールを使用したOceanBase Cloudデータベース接続サンプルプログラム
        • KV モード接続
          • OBKV-HBase クライアントを使用したクラスタへの接続
      • 開発リファレンス
        • MySQL モード
          • データオブジェクトの設計
            • データベースの作成
            • テーブルグループの作成
            • テーブルの作成
            • インデックスの作成
            • 外部テーブルの作成
          • データの書き込み
            • データの挿入
            • データの更新
            • データの削除
            • データの置換
            • テストデータの一括生成
          • データの読み取り
            • シングルテーブルクエリ
            • マルチテーブル結合
              • INNER JOIN
              • FULL JOIN
              • LEFT JOIN
              • RIGHT JOIN
              • サブクエリ
              • ラテラル派生テーブル
            • クエリでの演算子と関数の使用
              • クエリでの算術演算子の使用
              • クエリでの数値関数の使用
              • クエリでの文字列連結演算子の使用
              • クエリでの文字列関数の使用
              • クエリでの時間関数の使用
              • クエリでの集約関数の使用
              • クエリでのNULL関連関数の使用
              • クエリでのCASE条件演算子の使用
              • クエリ結果のロック SELECT FOR UPDATE
              • クエリ結果のロック LOCK IN SHARE MODE
            • DBLinkを使用したクエリの実行
            • 集合演算
          • トランザクション
            • トランザクション管理の概要
            • トランザクションの開始
            • セーブポイント
              • セーブポイントの設定
              • トランザクションを特定のセーブポイントまでロールバック
              • セーブポイントの解放
            • トランザクションのコミット
            • トランザクションのロールバック
        • Oracle モード
          • データオブジェクトの設計
            • テーブルグループの作成
            • テーブルの作成
            • インデックスの作成
            • 外部テーブルの作成
          • データの書き込み
            • データの挿入
            • データの更新
            • データの削除
            • データの置換
            • テストデータの一括生成
          • データの読み取り
            • 単一テーブルのクエリ
            • マルチテーブル結合
              • INNER JOIN
              • FULL JOIN
              • LEFT JOIN
              • RIGHT JOIN
              • サブクエリ
              • ラテラル派生テーブル
            • クエリでの演算子と関数の使用
              • クエリでの算術演算子の使用
              • クエリにおける数値関数の使用
              • クエリでの文字列連結演算子の使用
              • クエリにおける文字列関数の使用
              • クエリでの時刻関数の使用
              • クエリにおける集約関数の使用
              • クエリにおけるCASE関数の使用
            • DBLinkを使用したクエリの実行
            • 集合演算
          • トランザクション
            • トランザクション管理の概要
            • トランザクションの開始
            • セーブポイント
              • セーブポイントの設定
              • トランザクションを特定のセーブポイントまでロールバック
            • トランザクションのコミット
            • トランザクションのロールバック
        • KV モード
          • OBKV-Table Java開発ガイド
          • テーブルデータ操作例
            • OBKV-Tableを使用したデータの挿入
            • OBKV-Tableを使用したデータのクエリ
            • OBKV-Tableを使用したデータの更新
            • OBKV-Tableを使用したデータの削除
          • OBKV Table Java 開発
            • OBKV-Table Javaクライアントを使用してクラスタに接続する
          • HBase データ操作例
            • OBKV-HBaseアプリケーション開発の概要
            • OBKV-HBaseデータ操作の例
      • インスタンス管理
        • インスタンス管理
          • インスタンスリストを表示
          • インスタンスワークベンチ概要
          • インスタンスの一時停止/起動
          • Unit 移行
        • インスタンステナント管理
          • テナントワークベンチ
          • テナントの作成
          • テナント仕様の変更
          • テナント名の変更
          • アクセスアドレスの追加
          • リソース分離管理
            • リソース分離の概要
            • リソースグループ管理
              • リソースグループの作成
              • リソースグループの表示
              • リソースグループの編集
              • リソースグループの削除
            • 分離ルールの管理
              • 分離ルールの作成
              • 分離ルールの表示
              • 分離ルールの編集
              • 分離ルールの削除
          • プライマリゾーンの変更
          • プロキシアドレスの最大接続数の変更
          • AI Function 組み込みモデルの有効化
          • テナントパフォーマンスモニタリング
            • テナント監視の概要
            • パフォーマンスと SQL 監視
            • トランザクション監視
            • ストレージとキャッシュの監視
            • Binlog サービスの監視
            • テナントのカスタム監視レポート
          • 診断
            • パフォーマンス監視データの表示
            • リアルタイム診断
              • SQL 診断
                • Top SQL
                • Slow SQL
                • 疑わしい SQL
                • 高リスク SQL
                • SQL の詳細
              • セッション管理
                • セッション管理
              • 最適化管理
                • 有効な Outline の管理
                • 最適化履歴の表示
              • SQL監査
          • パラメータ管理
            • テナントパラメータ管理
            • パラメータ一覧
            • パラメータテンプレートの説明
          • テナントの削除
          • データベースとアカウント管理
            • アカウントの作成
            • アカウントの管理
            • データベースの作成(MySQLのみ)
            • データベースの管理(MySQLのみ)
        • インスタンズパフォーマンスモニタリング
          • クラスタ監視の概要
          • クラスタデータベースのパフォーマンス監視
          • クラスタ多次元指標のパフォーマンス監視
          • クラスタホストのパフォーマンス監視
          • データベースプロキシ監視の詳細
          • データベースプロキシホスト監視の詳細
          • クロスクラウドネットワークのパフォーマンス監視
          • クラスタのカスタム監視レポート
        • データマージ
          • メジャーコンパクションの開始
          • メジャーコンパクション記録の表示
          • メジャーコンパクション時間の変更
        • インスタンスパラメータ管理
          • パラメータ管理
          • パラメータ一覧の説明
        • インスタンス設定の変更
          • コンピューティングの自動スケールアップを設定する
          • ストレージの自動拡張機能の有効化
          • クラスタインスタンスの構成変更履歴の表示
          • インスタンス設定の変更(従量課金)
          • デプロイプランの切り替え
        • スタンバイインスタンス管理
          • スタンバイインスタンスの概要
          • スタンバイインスタンスの作成
          • クロスクラウドスタンバイインスタンスの作成
          • プライマリ/スタンバイインスタンスワークベンチ
          • プライマリ/スタンバイ同期ポリシーの設定
          • プライマリ/スタンバイデータベースのグローバルアドレス設定
          • スタンバイデータベースの書き込みリクエスト自動ルーティングを設定する
          • プライマリ/スタンバイインスタンスの切り替え
          • ディザスタリカバリ切り替え
          • プライマリ/スタンバイインスタンスのデカップリング
          • スタンバイインスタンスの解放
        • インスタンスの解放
        • データベースプロキシ
          • データベースプロキシの概要
          • データベースプロキシ管理
          • ダイレクトロード
        • アラート管理
          • アラート管理
          • アラートルールの管理
            • アラートルールの作成
            • アラートルールの表示
            • アラートルールの編集
            • アラートルールの削除
          • アラート履歴の表示
          • アラートルールテンプレートの管理
            • トリガー条件テンプレートの作成
            • トリガー条件テンプレートの表示
            • トリガー条件テンプレートの編集
            • トリガー条件テンプレートのコピー
            • トリガー条件テンプレートの削除
          • アラーム抑制ルールの管理
            • アラートミュート規則の作成
            • アラートミュートルールの確認
            • アラートミュートルールの編集
            • アラートミュートルールの削除
          • アラート通知テンプレートの管理
            • アラート通知テンプレートの作成
            • アラート通知テンプレートの表示
            • アラート通知テンプレートの編集
            • アラート通知テンプレートのコピー
            • アラート通知テンプレートの削除
          • アラート連絡先管理
            • アラート連絡先の追加
            • アラート連絡先グループの追加
            • アラート連絡先の表示
            • アラート連絡先の編集
            • アラート連絡先の削除
            • Webhook アドレスの取得
          • カスタムアラートで利用可能なメトリック
        • バックアップとリカバリ
          • バックアップとリストアの概要
          • バックアップポリシー
          • 今すぐバックアップ
          • データバックアップ
          • リストアの開始
          • データリストア
          • インスタンスごみ箱内のバックアップデータのリストア
        • 診断
          • 性能監視データの表示
          • 容量診断
          • ワンクリック診断
            • ワンクリック診断の開始
            • ワンクリック診断レポートの表示
              • 異常イベント
              • リアルタイム診断
              • 最適化の推奨事項
              • 容量管理
              • セキュリティ管理
          • リアルタイム診断
            • SQL 診断
              • Top SQL
              • Slow SQL
              • 不審な SQL
              • 高リスク SQL
              • SQL 詳細
              • SQL 監視メトリクスリスト
            • セッション管理
              • セッション管理
            • リクエスト分析
              • リクエスト分析
          • ルート cause 診断
            • 異常イベントの表示
            • システム自律機能の有効化
          • SQL監査
          • マテリアライズドビュー分析
          • 最適化センター
            • 最適化の推奨事項
            • 有効な Outline の管理
            • SQL Review
            • 最適化履歴の表示
        • タグ管理
        • 読み取り専用レプリカ管理
          • 読み取り専用レプリカの概要
          • インスタンス読み取り専用レプリカ
            • インスタンスの読み取り専用レプリカを追加する
            • インスタンスの読み取り専用レプリカ関連情報の表示
            • 読み取り専用レプリカの構成変更管理
            • インスタンスの読み取り専用レプリカを削除
          • テナント読み取り専用レプリカ
            • テナントの読み取り専用レプリカを追加する
            • テナントの読み取り専用レプリカ関連情報の表示
            • テナントの読み取り専用レプリカの変更
            • テナントの読み取り専用レプリカの削除
        • JVM 環境依存サービス管理
      • データソース管理
        • データソース管理の概要
        • データソースの管理
        • ユーザー権限の説明
          • 互換性評価ユーザー権限
          • データ移行ユーザー権限
          • 性能評価ユーザー権限
          • データアーカイブのユーザー権限
          • データクリーンアップのユーザー権限
        • プライベート接続の選択
          • AWSエンドポイントの設定
          • Huawei Cloudエンドポイントの設定
          • Alibaba Cloud エンドポイントの設定
          • Azureエンドポイントの設定
          • プライベートIPアドレス範囲の説明
        • パブリック接続の選択
          • AWS インスタンスのホワイトリストへの追加
          • Huawei Cloudインスタンスのホワイトリストに追加する
          • Alibaba Cloudインスタンスの許可リストへの追加
          • Azureインスタンスのホワイトリストに追加する
      • データライフサイクル管理
        • データアーカイブ
        • データクリーンアップ
      • ゴミ箱管理
        • インスタンスごみ箱
        • データベーステーブルゴミ箱管理
          • 概要
          • インスタンスデータベース・テーブルのごみ箱
          • テナントのデータベース/テーブルごみ箱
    • トランザクション型インスタンスの使用
      • トランザクション型インスタンスの概要
      • インスタンスの作成
        • インスタンスの作成
        • OceanBase公式Webサイトからインスタンスを作成する
        • AWS Marketplaceでインスタンスを作成する
        • GCP Marketplaceでインスタンスを作成する
        • Huawei Cloud Marketを通じてインスタンスを作成する
        • アリババクラウドマーケットプレイスでインスタンスを作成する
        • Azure Marketplaceでインスタンスを作成する
      • インスタンスへの接続
        • MySQL モード
          • 接続方法の概要
          • 接続文字列の取得
            • 概要
            • AWS PrivateLinkを使用したデータベースへの接続
            • Azureプライベートネットワーク接続を使用してデータベースにアクセスする
            • Google Cloud Private Service Connectを使用した接続
            • AWSピアリング接続を使用してデータベースに接続する
            • Huawei Cloud VPC Endpointを使用した接続
            • Alibaba CloudのVPC接続を使用したデータベース接続
            • 公開IPアドレスを使用してデータベースに接続する
            • Huawei Cloudのピア接続を使用してデータベースに接続する
          • クライアントを介した接続
            • デスクトップ版ODCによるOceanBase Cloudデータベースへの接続
            • MySQLクライアントを使用してOceanBase Cloudデータベースに接続する
            • OBClientを使用してOceanBase Cloudデータベースに接続する
          • ドライバー/ORM フレームワークを介した接続
            • Java
              • SpringBootでOceanBase Cloudに接続するサンプルプログラム
              • SpringBatchでOceanBase Cloudに接続するサンプルプログラム
              • Spring JDBCによるOceanBase Cloudデータベース接続サンプルプログラム
              • SpringDataJPA による OceanBase Cloud への接続サンプルプログラム
              • HibernateによるOceanBase Cloudデータベース接続サンプルプログラム
              • MyBatisでOceanBase Cloudデータベースに接続するサンプルプログラム
              • MySQL Connector/J による OceanBase Cloud データベース接続サンプルプログラム
              • TestContainers JavaによるOceanBase Cloudデータベース接続サンプルプログラム
            • Python
              • mysqlclient による OceanBase Cloud への接続サンプルプログラム
              • PyMySQLでOceanBase Cloudに接続するサンプルプログラム
              • MySQL-connector-pythonでOceanBase Cloudに接続するサンプルプログラム
              • SQLAlchemyでOceanBase Cloudに接続するサンプルプログラム
              • DjangoでOceanBase Cloudに接続するサンプルプログラム
              • peeweeを使用したOceanBase Cloud接続サンプルプログラム
            • C
              • MySQL Connector/C による OceanBase Cloud クラウドデータベース接続サンプルプログラム
            • Go
              • Go-SQL-Driver/MySQL で OceanBase Cloud に接続するサンプルプログラム
              • GORMでOceanBase Cloudに接続するサンプルプログラム
            • PHP
              • EXTドライバーを使用したOceanBase Cloud接続サンプルプログラム
              • MySQLiドライバーを使用してOceanBase Cloudに接続する
              • PDOドライバーを使用したOceanBase Cloudへの接続
            • Rust
              • RustでOceanBase Cloudに接続するサンプルプログラム
              • SeaORM による OceanBase Cloud クラウドデータベース接続サンプルプログラム
            • Ruby
              • ActiveRecordを使用したOceanBase Cloud接続サンプルプログラム
              • mysql2を使用したOceanBase Cloud接続サンプルプログラム
              • Sequelを使用したOceanBase Cloud接続サンプルプログラム
          • データベース接続プールの使用
            • データベース接続プールの設定
            • Tomcat接続プールでOceanBaseデータベースに接続するサンプルプログラム
            • C3P0接続プールでOceanBaseデータベースに接続するサンプルプログラム
            • Proxool接続プールを使用したOceanBaseデータベース接続サンプルプログラム
            • HikariCP接続プールでOceanBaseデータベースに接続するサンプルプログラム
            • DBCP接続プールでOceanBaseデータベースに接続するサンプルプログラム
            • Commons Pool による OceanBase データベース接続サンプルプログラム
            • Druid接続プールでOceanBaseデータベースに接続するサンプルプログラム
        • Oracle モード
          • 接続方法の概要
          • 接続文字列の取得
            • 概要
            • AWS PrivateLinkを使用してデータベースに接続する
            • Azureプライベートネットワーク接続を使用してデータベースにアクセスする
            • Google Cloud Private Service Connectを使用した接続
            • AWSピアリング接続を使用してデータベースに接続する
            • Huawei Cloud VPCエンドポイントを使用した接続
            • 公開IPアドレスを使用してデータベースに接続する
          • クライアントを介した接続
            • OBClientを使用してOceanBase Cloudに接続する
            • デスクトップ版ODCを使用してOceanBase Cloudデータベースに接続する
          • ドライバー/ORM フレームワークを介した接続
            • Java
              • OceanBase Connector/J による OceanBase Cloud クラウドデータベース接続サンプルプログラム
              • SpringBootでOceanBase Cloudに接続するサンプルプログラム
              • SpringBatchでOceanBase Cloudに接続するサンプルプログラム
              • Spring JDBCによるOceanBase Cloudデータベース接続サンプルプログラム
              • SpringDataJPAでOceanBase Cloudに接続するサンプルプログラム
              • HibernateによるOceanBase Cloudデータベース接続サンプルプログラム
              • MyBatisでOceanBase Cloudデータベースに接続するサンプルプログラム
              • JfinalによるOceanBase Cloudデータベース接続サンプルプログラム
            • Python
              • PythonドライバーによるOceanBase CloudOracleモードへの接続ガイド
            • C/C++
              • OceanBase Connector/C による OceanBase Cloud への接続サンプルプログラム
              • OceanBase Connector/ODBC による OceanBase Cloud クラウドデータベース接続サンプルプログラム
              • SqlSugarでOceanBase Cloudに接続するサンプルプログラム
          • データベース接続プールの使用
            • データベース接続プールの設定
            • Tomcat接続プールでOceanBase Cloudに接続するサンプルプログラム
            • C3P0接続プールでOceanBase Cloudに接続するサンプルプログラム
            • Proxool接続プールを使用したOceanBase Cloudデータベース接続サンプルプログラム
            • HikariCP接続プールでOceanBase Cloudに接続するサンプルプログラム
            • DBCP接続プールを使用してOceanBase Cloudに接続するサンプルプログラム
            • Commons Pool による OceanBase Cloud データベース接続サンプルプログラム
            • Druid接続プールでOceanBase Cloudに接続するサンプルプログラム
      • 開発リファレンス
        • MySQL モード
          • データオブジェクトの設計
            • データベースの作成
            • テーブルグループの作成
            • テーブルの作成
            • インデックスの作成
            • 外部テーブルの作成
          • データの書き込み
            • データの挿入
            • データの更新
            • データの削除
            • データの置換
            • テストデータの一括生成
          • データの読み取り
            • シングルテーブルクエリ
            • 複数テーブルの結合
              • INNER JOIN
              • FULL JOIN
              • LEFT JOIN
              • RIGHT JOIN
              • サブクエリ
              • ラテラル派生テーブル
            • クエリでの演算子と関数の使用
              • クエリでの算術演算子の使用
              • クエリでの数値関数の使用
              • クエリでの文字列連結演算子の使用
              • クエリでの文字列関数の使用
              • クエリでの時間関数の使用
              • クエリでの型変換関数の使用
              • クエリでの集約関数の使用
              • クエリでのNULL関連関数の使用
              • クエリでのCASE条件演算子の使用
              • クエリ結果のロック SELECT FOR UPDATE
              • クエリ結果のロック LOCK IN SHARE MODE
            • DBLinkを使用したクエリの実行
            • 集合演算
          • トランザクション
            • トランザクション管理の概要
            • トランザクションの開始
            • セーブポイント
              • セーブポイントの設定
              • トランザクションを特定のセーブポイントまでロールバック
              • セーブポイントの解放
            • トランザクションのコミット
            • トランザクションのロールバック
        • Oracle モード
          • データオブジェクトの設計
            • テーブルグループの作成
            • テーブルの作成
            • インデックスの作成
            • 外部テーブルの作成
          • データの書き込み
            • データの挿入
            • データの更新
            • データの削除
            • データの置換
            • テストデータの一括生成
          • データの読み取り
            • 単一テーブルのクエリ
            • 複数テーブルの結合
              • INNER JOIN
              • FULL JOIN
              • LEFT JOIN
              • RIGHT JOIN
              • サブクエリ
              • ラテラル派生テーブル
            • クエリでの演算子と関数の使用
              • クエリでの算術演算子の使用
              • クエリでの数値関数の使用
              • クエリにおける文字列連結演算子の使用
              • クエリでの文字列関数の使用
              • クエリにおける時刻関数の使用
              • クエリでの型変換関数の使用
              • クエリにおける集約関数の使用
              • クエリでのNULL関連関数の使用
              • クエリでのCASE関数の使用
              • SELECT ... FOR UPDATEステートメントを使用してクエリ結果をロックする
            • DBLinkを使用したクエリの実行
            • 集合演算
          • トランザクション
            • トランザクション管理の概要
            • トランザクションの開始
            • セーブポイント
              • セーブポイントの設定
              • トランザクションを特定のセーブポイントまでロールバック
            • トランザクションのコミット
            • トランザクションのロールバック
      • インスタンス管理
        • インスタンス管理
          • インスタンスリストの表示
          • インスタンスダッシュボードの概要
          • インスタンスの一時停止・再開
          • Unit移行
        • インスタンステナント管理
          • テナントダッシュボード
          • テナントの作成
          • テナント仕様の変更
          • テナント名の変更
          • アクセスアドレスの追加
          • リソース分離管理
            • リソース分離の概要
            • リソースグループ管理
              • リソースグループの作成
              • リソースグループの表示
              • リソースグループの編集
              • リソースグループの削除
            • 分離ルールの管理
              • 分離ルールの作成
              • 分離ルールの表示
              • 分離ルールの編集
              • 分離ルールの削除
          • プライマリゾーンの変更
          • プロキシアドレスの最大接続数の変更
          • AI Functionの組み込みモデルを有効にする
          • テナントパフォーマンスモニタリング
            • テナント監視の概要
            • パフォーマンスとSQL監視
            • トランザクション監視
            • ストレージとキャッシュの監視
            • Binlogサービス監視
            • テナントのカスタムモニタリングレポート
          • 診断
            • リアルタイム診断
              • SQL 診断
                • Top SQL
                • スローSQL
                • 疑わしいSQL
                • ハイリスクSQL
              • SQL監査
          • パラメータ管理
            • テナントパラメータの管理
            • パラメータ一覧の説明
            • パラメータテンプレートの説明
          • テナントの削除
          • データベースとアカウント管理
            • アカウントの作成
            • アカウントの管理
            • データベースの作成(MySQL互換モードのみ)
            • データベースの管理 (MySQL互換モードのみ)
        • インスタンズパフォーマンスモニタリング
          • クラスタ監視の概要
          • クラスタデータベースのパフォーマンス監視
          • クラスタ多次元指標のパフォーマンス監視
          • クラスタホストのパフォーマンス監視
          • データベースプロキシの監視詳細
          • データベースプロキシホストの監視詳細
          • クロスクラウドネットワークパフォーマンス監視
          • クラスタのカスタムモニタリングレポート
        • データマージ
          • メジャーコンパクションの開始
          • メジャーコンパクションレコードの表示
          • メジャーコンパクションの開始時刻を変更する
        • インスタンスパラメータ管理
          • パラメータ管理
          • パラメータ一覧の説明
        • インスタンス設定の変更
          • ストレージの自動拡張を設定する
          • クラスタインスタンスの構成変更履歴を表示する
          • インスタンス構成の変更 (従量課金)
          • デプロイプランの切り替え
        • スタンバイインスタンス管理
          • スタンバイインスタンスの概要
          • スタンバイインスタンスの作成
          • クロスクラウドスタンバイインスタンスの作成
          • プライマリ/スタンバイインスタンスの管理画面
          • プライマリ/スタンバイデータベースのグローバルアドレスの設定
          • スタンバイデータベースの書き込みリクエストの自動ルーティングを設定する
          • プライマリ/スタンバイインスタンスの切り替え
          • ディザスタリカバリフェイルオーバー
          • プライマリ/スタンバイインスタンスの分離
          • スタンバイインスタンスのリリース
        • インスタンスのリリース
        • データベースプロキシ
          • データベースプロキシの概要
          • データベースプロキシの管理
          • ダイレクトロード
        • アラート管理
          • アラート管理
          • アラートルールの管理
            • アラートルールの作成
            • アラートルールの表示
            • アラートルールの編集
            • アラートルールの削除
          • アラート履歴の表示
          • アラートルールテンプレートの管理
            • トリガー条件テンプレートの作成
            • トリガー条件テンプレートの表示
            • トリガー条件テンプレートの編集
            • トリガー条件テンプレートのコピー
            • トリガー条件テンプレートの削除
          • アラーム抑制ルールの管理
            • アラートミュートルールの作成
            • アラートミュートルールの表示
            • アラートミュートルールの編集
            • アラートミュートルールの削除
          • アラート通知テンプレートの管理
            • アラート通知テンプレートの作成
            • アラート通知テンプレートの表示
            • アラート通知テンプレートの編集
            • アラート通知テンプレートのコピー
            • アラート通知テンプレートの削除
          • アラート連絡先管理
            • アラート連絡先の追加
            • アラート連絡先グループの追加
            • アラート連絡先の表示
            • アラート連絡先の編集
            • アラート連絡先の削除
            • Webhook アドレスの取得
          • カスタムアラートで利用可能なモニタリング指標
        • バックアップとリカバリ
          • バックアップ・リストアの概要
          • バックアップポリシー
          • 今すぐバックアップ
          • データバックアップ
          • データ復元の開始
          • データ復元
          • インスタンスのごみ箱からデータバックアップを復元する
        • 診断
          • パフォーマンス監視データの表示
          • 容量診断
          • ワンクリック診断
            • ワンクリック診断の開始
            • ワンクリック診断レポートの表示
              • 異常イベント
              • リアルタイム診断
              • 最適化提案
              • 容量管理
              • セキュリティ管理
          • リアルタイム診断
            • SQL 診断
              • Top SQL
              • スローSQL
              • 疑わしいSQL
              • ハイリスクSQL
              • SQLの詳細
              • SQLモニタリングメトリクス一覧
            • セッション管理
              • セッション管理
            • リクエスト分析
              • リクエスト分析
          • ルート cause 診断
            • 例外イベントの表示
            • システム自律性の有効化
          • SQL監査
          • マテリアライズドビューの分析
          • 最適化センター
            • 最適化の提案
            • 有効なアウトラインの管理
            • SQL Review
            • 最適化履歴の表示
        • タグの管理
        • 読み取り専用レプリカ管理
          • 読み取り専用レプリカの概要
          • インスタンス読み取り専用レプリカ
            • インスタンスに読み取り専用レプリカを追加する
            • インスタンスの読み取り専用レプリカ関連情報の表示
            • 読み取り専用レプリカの構成管理
            • インスタンスの読み取り専用レプリカを削除する
          • テナント読み取り専用レプリカ
            • テナントに読み取り専用レプリカを追加する
            • テナントの読み取り専用レプリカ関連情報の表示
            • テナントの読み取り専用レプリカを変更する
            • テナントの読み取り専用レプリカを削除する
        • JVM環境依存サービスの管理
      • データソース管理の概要
      • データソース管理
        • プライベート接続
          • Google Cloudエンドポイントの設定
        • パブリック接続
          • Google Cloudインスタンスのアローリストに追加する
      • データライフサイクル管理
        • データライフサイクル管理の概要
        • データアーカイブ
        • データのクリーンアップ
        • アーカイブ設定の説明
      • ゴミ箱管理
        • インスタンスごみ箱
        • データベーステーブルゴミ箱管理
          • 概要
          • インスタンスのデータベース・テーブルのごみ箱
          • テナントデータベース・テーブルのごみ箱
    • 分析型インスタンスの使用
      • 分析型インスタンスの概要
      • OceanBase APのコア機能
      • インスタンスの作成
      • インスタンスへの接続
        • 接続方法の概要
        • 接続文字列の取得
          • 概要
          • AWS PrivateLinkを使用した接続
          • Huawei Cloud VPCエンドポイントを使用してデータベースに接続する
          • パブリックアドレスを使用してデータベースに接続する
        • クライアントを介した接続
          • デスクトップ版ODCによるOceanBase Cloudデータベースへの接続
          • MySQLクライアントを使用してOceanBase Cloudに接続する
          • OBClientを使用してOceanBase Cloudに接続する
        • ドライバー/ORM フレームワークを介した接続
          • Java
            • SpringBootによるOceanBase Cloudデータベースへの接続
            • SpringBatchによるOceanBase Cloudデータベースへの接続
            • Spring JDBCによるOceanBase Cloudデータベースへの接続
            • SpringJPAでOceanBase Cloudに接続する
            • HibernateによるOceanBase Cloudデータベースへの接続
            • MyBatisによるOceanBase Cloudデータベースへの接続
            • MySQL Connector/J を使用して OceanBase Cloud に接続する
          • Python
            • mysqlclient による OceanBase Cloud データベース接続サンプルプログラム
            • PyMySQLでOceanBase Cloudに接続するサンプルプログラム
            • MySQL Connector/Pythonを使用してOceanBase Cloudデータベースに接続する
          • C
            • MySQL Connector/Cを使用してOceanBase Cloudに接続する
          • Go
            • Go-SQL-Driver/MySQLを使用してOceanBase Cloudデータベースに接続する
          • PHP
            • PHPを使用してOceanBase Cloudに接続する
        • データベース接続プールの使用
          • データベース接続プールの設定
          • Tomcat接続プールでOceanBaseデータベースに接続するサンプルプログラム
          • C3P0接続プールでOceanBaseデータベースに接続するサンプルプログラム
          • Proxool接続プールを使用したOceanBaseデータベース接続サンプルプログラム
          • HikariCP接続プールでOceanBaseデータベースに接続するサンプルプログラム
          • DBCP接続プールでOceanBaseデータベースに接続するサンプルプログラム
          • Commons Pool による OceanBase データベース接続サンプルプログラム
          • Druid接続プールを使用したOceanBaseデータベース接続サンプルプログラム
      • データテーブル設計
        • データテーブルの概要
        • データテーブル設計のベストプラクティス
          • Unit 1:ストレージ構造とクエリパフォーマンスを最適化するための戦略のベストプラクティス
          • Unit 2:特殊インデックスの選択と作成のベストプラクティス
      • データのエクスポート
      • データ加工
      • クエリアクセラレーション
        • 統計情報
        • マテリアライズドビューによるクエリの高速化
        • クエリ並列度の選択
      • インスタンス管理
        • インスタンスのダッシュボードを表示する
        • インスタンス構成の変更
        • ストレージの自動拡張を設定する
        • プライマリゾーンの変更
        • パラメータの管理
        • バックアップとリカバリ
          • バックアップ・リストアの概要
          • バックアップポリシー
          • 即時バックアップ
          • データバックアップ
          • リストアの開始
          • データ復元
        • パフォーマンスモニタリング
          • クラスタ監視の概要
          • インスタンスデータベースのパフォーマンス監視を表示する
          • インスタンスホストのパフォーマンス監視を表示する
        • データマージ
          • メジャーコンパクションの開始
          • メジャーコンパクションレコードの表示
          • マージ時間の変更
        • データベースプロキシ
          • データベースプロキシの概要
          • データベースプロキシ管理
          • ダイレクトロード
        • アラート管理
          • 概要
          • アラートルールの管理
            • アラートルールの作成
            • アラートルールの表示
            • アラートルールの編集
            • アラートルールの削除
          • アラート履歴の表示
          • アラートルールテンプレートの管理
            • トリガー条件テンプレートの作成
            • トリガー条件テンプレートの表示
            • トリガー条件テンプレートの編集
            • トリガー条件テンプレートのコピー
            • トリガー条件テンプレートの削除
          • アラーム抑制ルールの管理
            • アラート抑止ルールの作成
            • アラート抑止ルールの表示
            • アラート抑止ルールの編集
            • アラート抑止ルールの削除
          • アラート通知テンプレートの管理
            • アラート通知テンプレートの作成
            • アラート通知テンプレートの表示
            • アラート通知テンプレートの編集
            • アラート通知テンプレートのコピー
            • アラート通知テンプレートの削除
          • アラート連絡先管理
            • アラート連絡先の追加
            • アラート連絡先グループの追加
            • アラート連絡先の表示
            • アラート連絡先の編集
            • アラート連絡先の削除
            • Webhook アドレスの取得
          • カスタムアラートで利用可能な監視メトリクス
        • 診断
          • パフォーマンス監視データの表示
          • 容量診断
          • リアルタイム診断
            • SQL 診断
              • Top SQL
              • スローSQL
              • 疑わしいSQL
              • ハイリスクSQL
              • SQLの詳細
              • SQLモニタリングメトリクス一覧
            • セッション管理
              • セッション管理
            • 最適化センター
              • 有効なアウトラインの管理
              • 最適化履歴の表示
            • リクエスト分析
              • リクエスト分析
        • インスタンスの一時停止・再開
        • インスタンスの解放
        • データベースとアカウント管理
          • アカウントの作成
          • データベースの作成
          • データベースの管理
        • タグの管理
      • データソース管理の概要
      • データライフサイクル管理
        • データアーカイブ
        • データのクリーンアップ
      • パフォーマンス診断とチューニング
        • 診断の実践:DBMS_XPLANシステムパッケージを使用したパフォーマンス診断
        • 診断の実践:SQL_PLAN_MONITORを使用したパフォーマンス問題の分析
        • AP性能分析関連ビュー
      • パフォーマンステスト
      • エコシステム統合
      • ゴミ箱管理
        • クラスタインスタンスのごみ箱
        • データベーステーブルゴミ箱管理
          • 概要
          • インスタンスのデータベース・テーブルのごみ箱
    • キーバリュー型インスタンスの使用
      • Table モデルの使用
        • インスタンスの作成
        • インスタンス管理
          • インスタンス管理
            • インスタンスリストの表示
            • クラスタインスタンスのダッシュボード概要
            • インスタンスの一時停止と起動
            • インスタンスのリリース
          • インスタンステナント管理
            • テナントの作成
            • テナント仕様の変更
            • テナント名の変更
            • テナントの削除
            • テナントの概要
            • リソース分離管理
              • リソース分離の概要
              • リソースグループ管理
                • リソースグループの作成
                • リソースグループの表示
                • リソースグループの編集
                • リソースグループの削除
              • 分離ルールの管理
                • 分離ルールの作成
                • 分離ルールの表示
                • 隔離ルールの編集
                • 隔離ルールの削除
            • テナントパフォーマンスモニタリング
              • テナント監視の概要
              • パフォーマンスとSQLの監視
              • トランザクション監視
              • ストレージとキャッシュの監視
              • OBKV-Table
              • テナントのカスタムモニタリングレポート
            • 診断
              • Top SQL
            • パラメータ管理
              • テナントパラメータの管理
              • パラメータ一覧の説明
            • データベースとアカウント処理
              • アカウントの作成と管理
              • データベースの作成
              • データベースの管理
            • プライマリゾーンの変更
          • インスタンズパフォーマンスモニタリング
            • クラスタ監視の概要
            • クラスタデータベースのパフォーマンス監視
            • クラスタ多次元指標のパフォーマンス監視
            • クラスタホストのパフォーマンス監視
            • インスタンスのカスタムモニタリングレポート
          • データマージ
            • メジャーコンパクションの開始
            • メジャーコンパクションレコードの表示
            • メジャーコンパクションの実行時刻の変更
          • インスタンスパラメータ管理
            • パラメータ管理の概要
            • パラメータ管理リスト
          • インスタンス設定の変更
            • ストレージの自動拡張を設定する
            • 設定変更履歴の表示
            • 構成の変更
            • デプロイメントモードの切り替え
          • データベースプロキシ
            • データベースプロキシの概要
            • データベースプロキシの管理
          • アラート管理
            • 概要
            • アラートルールの管理
              • アラートルールの作成
              • アラートルールの表示
              • アラートルールの編集
              • アラートルールの削除
            • アラート履歴の表示
            • アラートルールテンプレートの管理
              • トリガー条件テンプレート管理機能一覧
              • アラートテンプレートの作成
              • アラートテンプレートの表示
              • アラートテンプレートの編集
              • アラートテンプレートのコピー
              • アラートテンプレートの削除
            • アラーム抑制ルールの管理
              • アラート抑止ルールの作成
              • アラート抑止ルールの表示
              • アラートミュートルールの編集
              • アラート抑止ルールの削除
            • アラート連絡先管理
              • アラート連絡先の追加
              • アラート連絡先グループの追加
              • アラート連絡先の表示
              • アラート連絡先の編集
              • アラート連絡先の削除
              • Webhookアドレスの取得
            • カスタムアラートで利用可能なモニタリング指標
          • バックアップとリカバリ
            • バックアップ・リストアの概要
            • バックアップポリシー
            • 即時バックアップ
            • データバックアップ
            • リストアの開始
            • データ復元
          • 診断
            • パフォーマンス監視データの表示
            • Top SQL
            • 容量診断
            • リクエスト分析
          • タグの管理
          • ゴミ箱管理
            • インスタンスのごみ箱を表示する
            • データベーステーブルゴミ箱管理
              • 概要
              • インスタンスレベルのごみ箱
              • テナントレベルのごみ箱
      • キーバリュー型インスタンスを試す
        • インスタンスの作成
        • テナントの作成
        • アカウントの作成
        • OBKV-HBaseデータ操作の例
      • HBase モデルの使用
        • OBKV-HBaseの概要
        • インスタンスの作成
        • OBKV-HBase を使用したアプリケーション開発
          • OBKV-HBaseクライアントを使用してクラスタに接続する
        • インスタンス管理
          • インスタンス管理
            • インスタンス一覧の表示
            • クラスタインスタンスの概要
            • インスタンスの一時停止と再開
            • インスタンスのリリース
          • インスタンステナント管理
            • テナントの作成
            • テナント仕様の変更
            • テナント名の変更
            • テナントの削除
            • テナントの概要
            • リソース分離管理
              • 概要
              • リソースグループ管理
                • リソースグループの作成
                • リソースグループの表示
                • リソースグループの編集
                • リソースグループの削除
              • 分離ルールの管理
                • 隔離ルールの作成
                • 分離ルールの表示
                • 隔離ルールの編集
                • 隔離ルールの削除
            • テナントパフォーマンスモニタリング
              • 概要
              • パフォーマンスとSQLの監視詳細を表示する
              • トランザクション監視の詳細を表示する
              • ストレージとキャッシュの監視詳細を表示する
              • OBKV-HBase
              • テナントのカスタムモニタリングパネルを作成する
            • 診断
              • Top SQL
            • パラメータ管理
              • テナントパラメータの管理
              • テナントパラメータ
            • データベースとアカウント処理
              • アカウントの作成と管理
              • データベースの作成
              • データベースの管理
            • プライマリゾーンの変更
          • インスタンズパフォーマンスモニタリング
            • 概要
            • インスタンス内のデータベースのパフォーマンス監視
            • クラスタの多次元指標によるパフォーマンス監視
            • インスタンス内のホストのパフォーマンスを監視する
            • インスタンスのカスタムモニタリングパネルを作成する
          • データマージ
            • メジャーコンパクションの開始
            • メジャーコンパクションレコードの表示
            • メジャーコンパクションの実行時間の変更
          • インスタンスパラメータ管理
            • パラメータ管理の概要
            • クラスタインスタンスのパラメータ
          • インスタンス設定の変更
            • ストレージの自動拡張を設定する
            • 設定変更履歴の表示
            • 構成の変更
            • デプロイメントモードの切り替え
          • データベースプロキシ
            • 概要
            • データベースプロキシの管理
          • アラート管理
            • 概要
            • アラートルールの管理
              • アラートルールの作成
              • アラートルールの表示
              • アラートルールの編集
              • アラートルールの削除
            • アラート履歴の表示
            • アラートルールテンプレートの管理
              • トリガー条件テンプレート管理機能一覧
              • アラートテンプレートの作成
              • アラートテンプレートの表示
              • アラートテンプレートの編集
              • アラートテンプレートのコピー
              • アラートテンプレートの削除
            • アラーム抑制ルールの管理
              • アラート抑止ルールの作成
              • アラート抑止ルールの表示
              • アラート抑止ルールの編集
              • アラートミュートルールの削除
            • アラート連絡先管理
              • アラート連絡先の追加
              • アラート連絡先グループの追加
              • アラート連絡先の表示
              • アラート連絡先の編集
              • アラート連絡先の削除
              • Webhookアドレスの取得
            • カスタムアラート用の監視メトリクス
          • バックアップとリカバリ
            • バックアップ・リストアの概要
            • バックアップポリシー
            • 即時バックアップ
            • データバックアップ
            • リストアの開始
            • データ復元
          • 診断
            • パフォーマンス監視データの表示
            • Top SQL
            • 容量診断
            • リクエスト分析
          • タグの管理
          • ゴミ箱管理
            • クラスタインスタンスのごみ箱
            • データベーステーブルゴミ箱管理
              • 概要
              • インスタンスデータベース・テーブルのごみ箱
              • テナントデータベース・テーブルのごみ箱
        • データソース管理の概要
        • OBKV-HBaseの性能テスト
      • 接続文字列の取得
        • 概要
        • Huawei Cloud VPCエンドポイントを使用したOBKVへの接続
        • 公開IPアドレスを使用してOBKVに接続する
  • AI
    • AI サービス
      • AIサービスの概要
      • クイックスタート
      • AI API Keyの管理
      • AIモデルの使用
      • OceanBase MaaSを使用したClaude Codeの利用
      • OceanBase MaaSを使用したCodex CLIとCodex Appの利用
      • メモリ機能の使用
      • 組み込みモデル一覧
      • AI API
        • アクセスの仕方
        • AI サービス API インターフェース
          • AI API一覧
          • Anthropic 互換インターフェース
            • List Anthropic Models - Anthropicモデルの一覧を取得する
            • Create a Message - Anthropic メッセージの作成
            • Create a Message (Default Base) - Anthropic Messages
          • OpenAI 互換インターフェース
            • List Models - モデルリストの取得
            • Create Chat Completion - OpenAI チャット補完
            • Create Embedding - OpenAI Embeddings
            • Rerank - リランキング
            • Reranks - リランキング
            • Create Response - OpenAI Responses
          • Vertex AI 互換インターフェース
            • generateContent - Vertex AIによるコンテンツ生成
            • streamGenerateContent - Vertex AI ストリーミングコンテンツ生成
          • 画像とビデオ生成 API
            • Create Image Generation - 画像の生成
            • Create Video Generation - 動画生成タスクの作成
            • Retrieve Task Status - 非同期タスクのステータスを取得する
          • 画像生成モデル API
            • gpt-image-2によるテキストから画像への変換
            • gpt-image-2 Image Editing - 画像編集
            • gemini-3-pro-imageによるテキストから画像への変換
            • gemini-3-pro-imageによる画像から画像への変換/画像編集
          • OpenAI 互換のバッチとファイル API
            • Upload file - ファイルのアップロード
            • List files - バッチファイルの一覧を取得する
            • Retrieve file - バッチファイル情報の取得
            • Delete file - バッチファイルの削除
            • Get file content - バッチファイルの内容を取得する
            • Get file content (POST) - バッチファイルの内容を取得する
            • Create batch - バッチタスクの作成
            • List batches - バッチタスクの一覧を取得する
            • Retrieve batch - バッチタスクの状態を取得する
            • Retrieve batch (POST) - バッチタスクの取得
            • Cancel batch - バッチタスクのキャンセル
          • Memory API
            • listSpaces - メモリースペースをページネーションで一覧表示する
            • createSpace - メモリースペースを作成する
            • getSpace - 指定されたスペースの詳細を取得する
            • updateSpace - スペース名と説明を更新する
            • deleteSpace - スペースの削除
            • extractMemories - 対話メッセージからメモリを抽出する
            • listMemories - スペース内のメモリを一覧表示する
            • addMemory - メモリへの直接書き込み
            • getMemory - 単一のメモリを取得する
            • updateMemory - 単一のメモリ内容を更新する
            • deleteMemory - 単一のメモリを削除する
            • distillMemory - 対話からエクスペリエンスを抽出する
            • searchExperiences - エクスペリエンスの検索
            • getExperience - 単一のエクスペリエンスを取得する
            • deleteExperience - 単一のエクスペリエンスを削除する
            • feedbackExperiences - エクスペリエンスのフィードバック(高評価 / 低評価)
            • setExperienceObsolescence - エクスペリエンスを廃止としてマークまたはマーク解除する
            • combinedSearch - 統合検索(メモリ + エクスペリエンス)
    • OceanBase OAgent
      • OceanBase OAgentの概要
      • OceanBase OAgentのクイックスタート
      • チャネルの設定
      • スキルの設定
      • OceanBase OAgentトークン使用状況の確認
  • データ移行とインポート
    • データ移行とインポートのソリューション
    • データ評価と移行のクイックスタート
    • 互換性評価
      • 互換性評価の概要
      • オンライン評価の実行
      • オフライン評価の実行
      • 互換性評価タスクの管理
        • 互換性評価タスクの表示
        • 互換性評価レポートの表示とダウンロード
        • 互換性評価タスクの一時停止
        • 互換性評価タスクの削除
      • アップロードファイルの取得
      • PrivateLinkの設定
      • IPアドレスのホワイトリストへの追加
    • データソースの管理
      • データソースの新規作成
      • データソースの管理
      • ユーザー権限
        • 互換性評価ユーザー権限
        • データ移行に必要なユーザー権限
        • パフォーマンス評価ユーザー権限
        • データアーカイブユーザー権限
        • データクリーンアップユーザー権限
      • プライベート接続
        • AWSエンドポイントの設定
        • Huawei Cloudエンドポイントの設定
        • Alibaba Cloudエンドポイントの設定
        • Azureエンドポイントの設定
        • プライベートIPアドレスセグメントの説明
      • パブリック接続
        • AWSインスタンスの許可リストに追加する
        • Huawei Cloudインスタンスの許可リストに追加する
        • Alibaba Cloudインスタンスの許可リストに追加する
        • Azureインスタンスの許可リストに追加する
      • ピアリング接続
        • AWSデータサービスのピアリング接続を設定する
        • Huawei Cloudデータサービスのピアリング接続を設定する
        • Alibaba Cloudデータサービスのピアリング接続を設定する
        • Google Cloudデータサービスのピアリング接続を設定する
    • データ移行
      • データ移行の概要
      • データ移行の仕様説明
      • データ移行インスタンスの購入
      • MySQLデータベースのデータをOceanBaseデータベースのMySQL互換モードに移行する
      • OceanBaseデータベースのMySQL互換モードのデータをMySQLデータベースに移行する
      • OceanBaseデータベースの同一互換モード間でのデータ移行
      • OceanBaseデータベースの異なる互換モード間でのデータ移行
      • OracleデータベースのデータをOceanBaseデータベースのOracle互換モードに移行する
      • OceanBaseデータベースのOracle互換モードのデータをOracleデータベースに移行する
      • 双方向同期タスクの設定
      • OceanBaseデータベースのデータをKafkaに移行する
      • TiDBデータベースからOceanBaseデータベースのMySQL互換モードへのデータ移行
      • OceanBaseデータベースのMySQL互換モードからTiDBデータベースへの増分データ移行
      • PostgreSQLデータベースのデータをOceanBaseデータベースに移行する
      • OceanBaseデータベースの増分データをPostgreSQLデータベースに移行する
      • Lindorm/HBaseデータベースのデータをOceanBaseデータベースのHBase API互換モードに移行する
      • OceanBaseデータベースのHBase API互換モードからLindorm/HBaseデータベースへの増分データ移行
      • OceanBaseデータベースのデータをRocketMQに移行する
      • OceanBaseデータベースのデータをDataHubに移行する
      • OceanBaseデータベースのMySQL互換モードのデータをADBに移行する
      • PolarDB-X 2.0データベースのデータをOceanBaseデータベースのMySQL互換モードに移行する
      • データ移行タスクの管理
        • データ移行タスクの詳細を表示する
        • データ移行タスクの名前を変更する
        • 移行オブジェクトの表示と変更
        • パラメータの確認と変更
        • アラートの設定
        • ラベルによるデータ移行タスクの管理
        • インテリジェント診断
        • データ移行タスクの開始、一時停止、および再開
        • データ移行タスクのクローン
        • データ移行タスクの終了と解放
      • 機能紹介
        • DML/DDLのカスタム設定
        • DDL同期範囲
        • SQL条件によるデータのフィルタリング
        • データベース名とテーブル名の変更
        • 増分同期の開始時点の設定
        • 構造移行の操作説明
        • マッチングルールの設定と変更
        • ワイルドカードルールの説明
        • 移行対象オブジェクトのインポート
        • 競合データのダウンロード
        • Topicの変更
        • 列フィルタリング
        • データ形式の説明
        • パーティション設定
      • Alibaba Cloudアカウントの権限付与
      • テーブルオブジェクトのSQLクエリ
      • Online DDLツールの適用について
      • トリガーの作成
      • セルフマネージドPostgreSQLインスタンスのログレベルを変更する
      • 増分移行のサポート対象 DDL 操作と制限
        • Aurora MySQLデータベースクラスタからOceanBaseデータベースのMySQL互換モードテナントへのDDL同期の概要
        • OceanBaseデータベースのMySQL互換モードテナントからAurora MySQLデータベースクラスタへのDDL同期
        • OceanBaseデータベースのMySQL互換モードテナント間のDDL同期
        • OracleデータベースからOceanBaseデータベースのOracle互換モードテナントへのDDL同期
        • OceanBaseデータベースのOracle互換モードテナントからOracleデータベースへのDDL同期
        • OceanBaseデータベースのOracle互換モードにおけるテナント間のDDL同期
        • OceanBaseデータベースからKafkaへのDDL同期
    • データサブスクリプション
      • データサブスクリプションタスクの作成
      • データサブスクリプションタスクの管理
        • データサブスクリプションタスクの詳細を表示する
        • サブスクリプション情報の設定
        • データサブスクリプションタスクの名称を変更する
        • サブスクリプションオブジェクトの表示と変更
        • データサブスクリプションパラメータの表示
        • データサブスクリプションのアラートを設定する
        • データサブスクリプションタスクの開始、一時停止、および再開
        • データサブスクリプションタスクのクローン
        • データサブスクリプションタスクの解放
      • データサブスクリプションのプライベート接続を管理する
      • サブスクリプションの消費設定
      • メッセージ形式の説明
    • データ検証
      • データ検証の概要
      • 検証タスクの新規作成
      • データ検証タスクの管理
        • データ検証タスクの詳細を表示する
        • 検証オブジェクトの表示と変更
        • データ検証パラメータの表示と変更
        • ラベルを使用したデータ検証タスクの管理
        • データ検証タスクの開始、一時停止、および再開
        • データ検証タスクのクローン
        • データ検証タスクの解放
      • 機能紹介
        • 検証オブジェクトのインポート
        • 検証オブジェクトの名前変更
        • SQL条件を使用した検証オブジェクトのフィルタリング
        • 検証オブジェクトのマッチングルールの設定
    • パフォーマンス評価
      • 概要
      • データベースインスタンスのトラフィックファイルを取得する
      • 完全なパフォーマンス評価タスクの新規作成
      • SQLファイル解析タスクの新規作成
      • SQLファイルリプレイタスクの新規作成
      • パフォーマンス評価タスクの管理
        • パフォーマンス評価タスクの詳細を表示する
        • パフォーマンス評価レポートの表示
        • パフォーマンス評価タスクの再試行と停止
        • パフォーマンス評価タスクの削除
      • データベースインスタンスの取得
      • アクセスキーを作成する
    • データのインポート
      • データのインポート
      • ダイレクトロード
      • データインポートでサポートされているファイル形式とエンコーディング形式
      • サンプルデータについて
    • Binlog
      • 概要
      • Binlogサービスの購入
      • Binlog サービスの管理
        • Binlogサービスの詳細を表示する
        • 設定変更
        • 自動スケーリングポリシーの変更
        • 弾力性ポリシーの変更
        • Binlogサービスの停止
    • スマートアップグレード
  • セキュリティ管理
    • アカウント設定
      • 個人アカウント情報の管理
      • マルチファクタ認証
      • 組織認証
        • 組織認証の有効化
        • IdPの設定
      • AccessKeyの管理
      • タイムゾーンの設定
      • クラウドマーケットアカウントの管理
      • アカウント監査
    • 組織プロジェクト管理
      • 組織・プロジェクト管理の概要
      • 組織情報の管理
      • プロジェクト管理
        • プロジェクト管理
        • プロジェクト間の双方向権限付与
        • AI設定
        • オブジェクトストレージの設定
        • プロジェクトメッセージのサブスクリプション
      • メンバー管理
      • ロール権限一覧
      • 組織コスト管理
        • 組織コストの概要
        • コスト明細
        • コストユニットの管理
      • 操作監査
    • アカウントと権限管理
      • アカウント権限リスト
      • クラウドベンダーアカウントの権限付与
      • AWS KMS キー管理
      • テクニカルサポートサービスのアクセス権限付与
    • セキュリティ暗号化
      • 許可リストグループ設定
      • SSLによる通信経路暗号化
      • TDE 透過的データ暗号化
    • モニタリングダッシュボード
    • イベントセンター
    • サポートプラン
      • OceanBase Cloud サポートプランの概要
      • サポートプランの購入と管理
  • SQL コンソール
    • 概要
    • SQLコンソールへのログイン
    • SQLの編集と実行
    • PLコンパイル
    • 結果セットの編集
    • 実行分析
    • データベースオブジェクト管理
      • テーブルの作成
      • ビューの作成
      • 関数の作成
      • ストアドプロシージャの作成
      • プログラムパッケージの作成
      • トリガーの作成
      • タイプの作成
      • シーケンスの作成
      • シノニムの作成
    • セッション変数の管理
    • SQLコンソールの機能キー一覧
    • スマートSQL開発
  • エコシステム統合
    • エコシステム統合の概要
    • データベースバージョニング
      • Liquibaseを使用したOceanBaseデータベースのバージョン管理
      • Flywayを使用したOceanBase Cloudデータベースのバージョン管理
    • データ統合
      • Canalを使用したデータの同期
      • dbtを使用したOceanBaseデータの分析
      • Debezium
      • Flinkによるデータの同期
      • AWS Glueを使用したOceanBaseデータの移行
      • Informatica CloudとOceanBaseデータベースの連携ガイド
      • OceanBaseデータベースとKafkaの統合に関するベストプラクティス
      • Maxwell
      • SeaTunnel
      • DataWorks
      • Apache NiFiによるOceanBase Cloudの統合
    • SQL 開発
      • DataGripでOceanBase Cloudデータベースに接続する
      • DBeaverでOceanBase Cloudに接続する
      • NavicatでOceanBase Cloudに接続する
      • TablePlusでOceanBase Cloudデータベースに接続する
    • オーケスト레이션 スケジューリング
      • DolphinScheduler
      • LinkisとOceanBaseデータベースの連携
      • AirflowとOceanBaseデータベースの連携
    • 可視化
      • GrafanaでOceanBase Cloudの監視ダッシュボードデータを表示する
      • Power BIでOceanBase Cloudに接続してデータを取得する
      • Quick BIでOceanBase Cloudに接続する
      • SupersetとOceanBase Cloudを使用したデータ分析
      • TableauからOceanBase Cloudに接続する
    • オブザーバビリティ
      • Datadogを使用したOceanBase Cloudインスタンスの監視
      • Prometheusを使用したOceanBaseデータの監視
    • データベース管理
      • BytebaseによるOceanBaseインスタンスの管理
    • AI
      • OceanBase Cloud VectorとLlamaIndexの連携
      • OceanBase Cloud VectorとDifyの連携
      • OceanBase Cloud VectorとLangChainの連携
      • OceanBase Cloud VectorとQwenの連携
      • OceanBase Cloud VectorとOpenAIの連携
      • OceanBase Cloudとn8nの連携
      • OceanBase MCP ServerとTraeの連携
      • OceanBase Cloud VectorとSpring AI Alibabaの連携
      • OceanBase MCP ServerとClineの連携
      • OceanBase MCP ServerとCursorの連携
      • OceanBase MCP ServerとContinueの連携
      • Google GenAI ToolboxとOceanBase MCP Serverの統合
      • OceanBase Cloud VectorとCamelAIの連携
      • OceanBase Cloud VectorとFirecrawlの連携
      • OceanBase Cloud VectorとHugging Faceの連携
      • OceanBase Cloud VectorとOllamaの連携
      • OceanBase Cloud VectorとGoogle Geminiの連携
      • OceanBase Cloud VectorとCloudflare Workers AIの連携
      • OceanBase MCP ServerとQoderの連携
      • OceanBase MCP ServerとOpenCodeの連携
      • OceanBase MCP ServerとClaude Codeの連携
      • OceanBase MCP ServerとGitHub Copilotの連携
      • OceanBase MCP ServerとCodexの連携
      • OceanBase Cloud VectorとJina AIの連携
      • OceanBase MCP ServerとAugment Codeの連携
      • OceanBase MCP ServerとClaude Codeの連携
      • OceanBase MCP ServerとKiroの連携
    • 開発ツール
      • Cloudflare WorkersでOceanBase Cloudに接続する
      • VercelでOceanBase Cloudに接続する
  • ベストプラクティス
    • クロスクラウドアクティブ-アクティブによる高可用性の実現に関するベストプラクティス
    • クロスクラウドのプライマリ/スタンバイデータベースによる高可用性(1プライマリ1スタンバイ)
    • クロスクラウドのプライマリ/スタンバイデータベースによる高可用性の実現(1プライマリ・複数スタンバイ)
    • ホストのCPU利用率が高すぎる
    • OceanBase Cloudクラウドデータベースの読み書き分離に関するベストプラクティス
    • AWS RDSのデータをOceanBase Cloudへ移行するベストプラクティス
  • リファレンスガイド
    • システムアーキテクチャ
    • システム管理
    • データベースオブジェクト管理
    • データベース設計と仕様制約
    • SQLリファレンス
    • システムビュー
    • 構成パラメータとシステム変数
    • エラーコード
    • パフォーマンスチューニング
    • Open API リファレンス
      • Open APIの概要
      • サービスエンドポイント
      • API接続について
      • Open API ディレクトリ
        • インスタンス管理
          • DescribeInstances - クラスタリストを取得する
          • DescribeInstance - クラスタ情報の取得
          • CreateInstance - クラスタの作成
          • DeleteInstance - クラスタの削除
          • ModifyInstanceName - クラスタ名の変更
          • DescribeNodeOptions - 監視に使用できるノードの候補を取得する
          • StopCluster - クラスタインスタンスの一時停止
          • StartCluster - クラスタインスタンスの起動
          • ModifyInstanceSpec - クラスタ仕様の変更
          • DescribeInstanceTopology - インスタンスのトポロジー情報を取得する
          • DescribeReadonlyInstances - インスタンスの読み取り専用レプリカ情報を取得する
          • CreateReadonlyInstance - 読み取り専用レプリカインスタンスの作成
          • ModifyReadonlyInstanceSpec - 読み取り専用レプリカインスタンスの仕様を変更する
          • ModifyReadonlyInstanceDiskSize - 読み取り専用レプリカのディスクサイズを変更する
          • ModifyReadonlyInstanceNodeNum - 読み取り専用レプリカのノード数を変更する
          • DeleteReadonlyInstance - 読み取り専用レプリカインスタンスの削除
          • DescribeInstanceAvailableRoZones - 読み取り専用レプリカのゾーンを取得する
          • DescribeInstanceParameters - クラスタレベルパラメータの取得
          • UpdateInstanceParameters - クラスタレベルパラメータの変更
          • DescribeInstanceParametersHistory - クラスタレベルパラメータの変更履歴を取得する
          • ModifyInstanceTagList - インスタンスタグの変更
          • ModifyInstanceNodeNum - クラスタノード数の変更
          • DescribeInstanceAnomalyEvents - インスタンスの異常イベントを取得する
          • DescribeOasClusterAnomalySqlList - クラスタの疑わしいSQL一覧を取得する
          • DescribeOasClusterSlowSQLList - クラスタのスローSQL一覧を取得する
          • DescribeInstanceSqlAuditServiceInfo - SQL監査サービス情報の取得
          • DescribeProxyClusterForInstance - インスタンスODPプロキシクラスタのクエリ
        • テナント管理
          • DescribeTenants - 条件でテナントを検索する
          • DescribeTenant - 指定クラスタ内の指定テナント情報を照会する
          • CreateTenants - テナントの作成
          • DeleteTenants - テナントの削除
          • ModifyTenantName - テナント名の変更
          • ModifyTenant - テナントの変更
          • ModifyTenantUserDescription - テナントユーザーの説明を変更する
          • ModifyTenantUserStatus - テナント内ユーザーのステータスを変更する
          • GetTenantCreateConstraints - テナント作成時の制約の確認
          • ModifyTenantPrimaryZone - テナントのプライマリゾーンを変更する
          • GetTenantCreateCpuConstraints - テナント作成時のCPU制約の確認
          • GetTenantCreateMemConstraints - テナント作成時のメモリ制約の確認
          • GetTenantModifyCpuConstraints - テナントのCPUを変更する際の制約を取得する
          • GetTenantModifyMemConstraints - テナントのメモリを変更する際の制約を取得する
          • CreateTenantSecurityIpGroup - テナントのセキュリティ許可リスト情報を作成する
          • DescribeTenantSecurityIpGroups - テナントの許可リストグループ一覧を取得する
          • ModifyTenantSecurityIpGroup - テナントの許可リストグループ情報を変更する
          • DeleteTenantSecurityIpGroup - テナントの許可リストグループ情報を削除する
          • DescribeTenantPrivateLink - テナントのPrivateLinkアドレス情報を照会する
          • DeletePrivatelinkConnection - テナント接続アドレスの削除
          • CreatePrivatelinkService - テナントのPrivateLink接続を有効化する
          • ConnectPrivatelinkService - PrivateLinkエンドポイントノードを介してデータベースに接続する
          • AddPrivatelinkServiceUser - PrivateLinkサービスの許可リストにユーザーを追加する
          • BatchKillProcessList - 指定テナントのセッションプロセスを一括終了する
          • DescribeProcessStatsComposition - セッションプロセス統計情報を取得する
          • DescribeTenantAddressInfo - テナントのアドレス情報を照会する
          • DescribeTenantAvailableRoZones - テナントの読み取り専用レプリカゾーンを取得する
          • ModifyTenantReadonlyReplica - テナントの読み取り専用レプリカを変更する
          • DescribeTenantParameters - テナントレベルパラメータを取得する
          • UpdateTenantParameters - テナントレベルパラメータの変更
          • DescribeTenantParametersHistory - テナントレベルのパラメータ変更履歴を取得する
          • ModifyTenantTagList - テナントタグの変更
          • CreateReadonlyPrivatelink - テナントのプライベートネットワーク読み取り専用アドレスを作成する
          • CreateReadwritePrivatelink - テナントのプライベートネットワーク読み書き分離アドレスを作成する
          • DescribeTenantPublicAddress - テナントのパブリックアドレスを照会する
          • DescribeTenantSqlAuditServiceInfo - テナントSQL監査サービス情報の取得
        • テナントアカウント管理
          • CreateTenantUser - テナントユーザーの作成
          • DescribeTenantUsers - テナントアカウントリストの検索
          • DeleteTenantUsers - テナントユーザーの削除
          • ModifyTenantUserPassword - テナントユーザーパスワードの変更
          • ModifyTenantUserRoles - テナントユーザーのロールを変更する
        • データベース管理
          • CreateDatabase - データベースの作成
          • DescribeDatabases - データベースリストのクエリ
          • DeleteDatabases - データベースの削除
          • ModifyDatabaseUserRoles - データベースユーザーロールの変更
          • DescribeTableSchema - テーブルスキーマのクエリ
        • バックアップとリカバリ管理
          • DescribeDataBackupSet - データバックアップセット情報の照会
          • DescribeRestorableTenants - 復元可能なテナントのクエリ
          • ModifyBackupStrategy - バックアップ戦略の変更
          • CreateTenantRestoreTask - テナント復元タスクの作成
          • CreateDataBackupTask - バックアップタスクの作成
          • DescribeOneDataBackupSet - タスクIDによるバックアップセットの取得
          • CreateBackupSetDownloadLink - バックアップセットのダウンロードリンクを作成する
          • DeleteBackupSetDownloadTask - バックアップセットのダウンロードタスクを削除する
          • DescribeBackupSetDownloadLink - バックアップセットのダウンロードリンクの取得
          • DescribeBackupStrategy - バックアップポリシーのクエリ
        • データベースプロキシ管理
          • CreateTenantAddress - テナントアドレスの作成
          • CreateTenantSingleTunnelSLBAddress - テナントのsingleTunnelSLBアドレスを新規作成
          • DeleteTenantAddress - テナントアドレスの削除
          • DescribeTenantAddress - テナントアドレスの照会
          • ModifyOdpClusterSpec - データベースプロキシクラスタの仕様を変更する
          • ModifyTenantAddressPort - テナントアドレスのポートを変更する
          • ModifyTenantAddressDomainPrefix - テナントアドレスのドメインプレフィックスを変更する
          • ConfirmPrivatelinkConnection - PrivateLinkによるプライベートネットワーク接続の完了を確認する
          • DescribeTenantAddressInfo - すべてのテナントアドレス情報の照会
        • データソース管理
          • ListDataSources - データソースリストの取得
          • CreateDataSource - データソースの作成
          • DeleteDataSource - データソースの削除
        • OMS プロジェクト管理
          • DescribeProject - プロジェクトの詳細を照会する
          • CreateProject - プロジェクトの作成
          • DeleteProject - プロジェクトの削除
          • DescribeProjectSteps - プロジェクトのステップリストを取得する
          • StartProject - プロジェクトの起動
          • StopProject - プロジェクトの停止
          • ResumeProject - プロジェクトの再開
          • ReleaseProject - プロジェクトリソースの解放
          • UpdateProjectConfig - プロジェクト設定の更新
          • ListProjectModifyRecords - プロジェクトの変更履歴を取得する
          • CreateProjectModifyRecords - プロジェクトの変更レコードを作成する (テーブルの追加・削除)
          • CancelProjectModifyRecord - 変更レコードの取消
          • RetryProjectModifyRecords - 変更レコードの再試行
          • StopProjectModifyRecords - 変更レコードの終了
          • GetModifyRecord - 変更レコードの詳細を取得する
          • DescribeTransferMapping - 転送オブジェクトのマッピング設定を取得する
        • モニタリング管理
          • DescribeTenantMetrics - テナントメトリクス情報の照会
          • DescribeMetricsData - モニタリングメトリクスデータのクエリ
          • CreatePrometheusIntegration - Prometheus監視の統合を作成する
          • DeletePrometheusIntegration - Prometheusモニタリング統合の削除
          • ListPrometheusIntegration - Prometheus監視連携リストの取得
          • DescribeNodeMetrics - ノードメトリクス情報の照会
        • 診断管理
          • DescribeOasTopSQLList - TopSQLリストのクエリ
          • DescribeOasAnomalySQLList - 疑わしいSQLリストの照会
          • DescribeOasSlowSQLList - SlowSQLリストのクエリ
          • DescribeOasSQLText - SQLテキストのクエリ
          • DescribeSqlAudits - SQL監査データの照会
          • DescribeOutlineBinding - SQLアウトラインのバインディング情報を照会する
          • DescribeSampleSqlRawTexts - 元のSQLテキストサンプルの照会
          • DescribeSQLTuningAdvices - SQLチューニングのアドバイスを取得する
          • DescribeOasSlowSQLSamples - スローSQL実行詳細のサンプルデータを照会する
          • DescribeOasSQLTrends - SQL実行履歴のクエリ
          • DescribeOasSQLPlanGroup - SQL実行計画のクエリ
          • DescribeRcaRecord - 根本原因分析レコードのクエリ
          • DescribeTopSQLComparision - SQL実行の比較
          • DescribeSessionStatsGroupBySqlId - SQL ID別に集計されたセッション統計情報を取得する
          • DescribeIndexes - インデックス情報のクエリ
          • DescribeOasHighRiskSQL - ハイリスクSQLのクエリ
        • セキュリティ管理
          • CreateSecurityIpGroup - インスタンスの許可リストグループを作成する
          • DescribeInstanceSSL - インスタンスのSSL設定情報を照会する
          • ModifyInstanceSSL - インスタンスのSSL設定を変更する
          • DescribeTenantEncryption - テナントの暗号化情報を照会する
          • ModifyTenantEncryption - テナントの透過的データ暗号化を有効にする
          • ModifySecurityIps - インスタンスの許可リスト内のIPリストを変更する
          • DeleteSecurityIpGroup - インスタンスの許可リストグループを削除する
          • DescribeTenantSecurityConfigs - テナントのセキュリティ設定検査
          • DescribeInstanceSecurityConfigs - クラスタのセキュリティ設定検査
        • タグ管理
          • DescribeTags - タグリストの取得
          • CreateTags - バッチでタグを作成する
          • UpdateTag - タグの更新
          • DeleteTag - タグの削除
        • 履歴イベント管理
          • DescribeOperationEvents - 過去のイベントを取得する
        • AI サービス管理
          • CreateAIServiceAPIKey - AI APIキーの作成
          • DeleteAIServiceAPIKey - AI APIキーの削除
          • ListAIServiceAPIKeys - APIキーの一覧を取得する
      • Open API よくある質問 FAQ
      • OceanBaseクラウドデータベースとOceanBase CloudのAPI比較
    • クライアントダウンロード
      • OceanBaseクライアント(OBClient)のダウンロード
      • JDBCドライバーのダウンロード
      • クライアント版ODCのダウンロード
      • ODBCドライバーのダウンロード
      • OBClient Libsドライバーのダウンロード
    • パフォーマンステスト
      • OceanBase Cloudのパフォーマンステスト - sysbenchテスト
      • OceanBase Cloudのパフォーマンステスト - TPCHテスト
      • OceanBase Cloudのパフォーマンステスト - TPCCテスト
    • モニタリング指標リファレンス
      • クラスタデータベース
      • クラスタホスト
      • Binlogサービス
      • クロスクラウドネットワークチャネル接続
      • パフォーマンスとSQL
      • トランザクション
      • ストレージとキャッシュ
      • プロキシデータベース
      • プロキシホスト
    • 開発者センター使用ガイド
      • プロダクト紹介
        • OceanBase Developer Centerについて
        • 制限事項
      • クイックスタート
        • デスクトップ版 ODC
          • クイックスタート
          • デスクトップ版ODCのインストール
          • デスクトップ版ODCの使用
        • Web 版 ODC
          • クイックスタート
          • Web版ODCの使用
      • データソース管理
        • データソースの作成
        • データソースとプロジェクトの連携
        • データベース運用保守
          • セッション管理
          • グローバル変数の管理
          • ごみ箱の管理
      • SQL 開発
        • SQLの編集と実行
        • PLコンパイルとデバッグ
        • 結果の編集とエクスポート
        • 実行分析
        • テストデータの生成
        • システム設定
        • データベースオブジェクト
          • テーブルオブジェクト
            • 概要
            • テーブルの作成
          • ビューオブジェクト
            • 概要
            • ビューの作成
            • ビューの管理
          • マテリアライズドビューオブジェクト
            • 概要
            • マテリアライズドビューの作成
            • マテリアライズドビューの管理
          • 関数オブジェクト
            • 概要
            • 関数の作成
            • 関数の管理
          • ストアドプロシージョブジェクト
            • 概要
            • ストアドプロシージャの作成
            • ストアドプロシージャの管理
          • シーケンスオブジェクト
            • 概要
            • シーケンスの作成
            • シーケンスの管理
          • パッケージオブジェクト
            • 概要
            • プログラムパッケージの作成
            • プログラムパッケージの管理
          • トリガーオブジェクト
            • 概要
            • トリガーの作成
            • トリガーの管理
          • タイプオブジェクト
            • 概要
            • タイプの作成
            • タイプの管理
          • シノニムオブジェクト
            • 概要
            • シノニムの作成
            • シノニムの管理
      • インポートとエクスポート
        • スキーマとデータのインポート
        • スキーマとデータのエクスポート
      • 変更リスク管理
        • ユーザー権限管理
          • ユーザーとロール
          • 自動権限付与
          • ユーザー権限管理
        • プロジェクトの協働管理
        • リスクレベル、リスク識別ルール、および承認プロセス
        • SQLチェック仕様
        • SQLウィンドウ規範
        • データベース変更管理
        • マルチデータベース変更管理
        • ロックフリースキーマ変更
        • シャドウテーブルの同期
        • 構造比較
      • データライフサイクル管理
        • パーティション計画管理
          • パーティション計画の管理
          • パーティション戦略の設定
          • パーティション戦略の使用例
        • SQLスケジュールタスク
      • データマスキングと監査
        • データマスキング
        • 操作監査
      • メッセージ通知管理
        • メッセージ通知の概要
        • プッシュ履歴の確認
        • 通知チャンネルの管理
          • プッシュチャネルの作成
          • プッシュチャネルの表示・編集・削除
          • カスタムチャネルの使用例
        • プッシュルールの管理
      • ベストプラクティス
        • SQL開発でよく使われるコツ
        • ODCチームスペースの魅力的な世界へようこそ
        • OceanBase APのリアルタイムSQL診断機能の解説
        • OceanBase履歴データソリューション
        • ODC SQLチェック仕様による高リスク操作の自動検出
        • ODCによるシャーディングデータベース・テーブルの管理と変更
        • データマスキングの管理と運用
        • エンタープライズレベルの管理・協働:データベースの変更を守るために
    • データ開発
      • 概要
      • ワークスペース管理
      • ワークブック管理
      • コンピューティングノードプール管理
      • タスクフローの管理
      • ダッシュボードの管理
      • Gitリポジトリ管理
      • SQL 開発
        • SQLの編集と実行
        • 結果セットの編集
        • 実行分析
        • データベースオブジェクト管理
          • テーブルの作成
          • ビューの作成
          • 関数の作成
          • ストアドプロシージャの作成
        • セッション変数の管理
        • Git統合
      • サンプルデータセットの紹介
      • OceanBase Cloud データ開発用語集
  • 課金管理
    • 費用概要の表示
    • 請求書の表示
      • 注文の確認
    • 月次請求書の表示
    • 支払い詳細の表示
    • AI サービス課金
      • 使用状況統計
      • API Keyの記録を見る
      • モデルレート
    • 支払い方法
      • バウチャーによる支払い
    • 請求書の管理
  • 関連規約
    • クラウドサービス契約
    • サービスレベル契約
    • データ処理に関する補遺
    • OceanBaseクラウド移行サービスに関するサービスレベル契約

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBase Cloud

HibernateによるOceanBase Cloudデータベース接続サンプルプログラム

最終更新:2026-09-30 10:37:21

前提条件
操作手順
ステップ1:OceanBase Cloudの接続文字列を取得する
ステップ2:java-oceanbase-hibernate プロジェクトをIDEAにインポートする
ステップ3:java-oceanbase-hibernate プロジェクトのデータベース接続情報を修正する
ステップ4:java-oceanbase-hibernate プロジェクトを実行する
よくある質問
1. 接続タイムアウト
2. 文字セットの問題
3. SSL接続
4. アカウントパスワードに含まれる特殊文字
プロジェクトコードについて
pom.xmlコードの紹介
User.hbm.xmlのコード紹介
hibernate.cfg.xmlのコード紹介
UserDao.javaコードの紹介
User.java コードの紹介
TestHibernate.javaのコード紹介
全コード表示
関連ドキュメント

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

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

前提条件

  • OceanBase Cloudデータベースアカウントに登録し、クラスタインスタンスとMySQL互換モードのテナントを作成していること。詳細については、クラスタインスタンスの作成およびテナントの作成をご参照ください。
  • JDK 1.8とMavenをインストール済みであること。
  • IntelliJ IDEAをインストール済みであること。

説明

このドキュメントでコードを実行するために使用したツールはIntelliJ IDEA 2021.3.2 (Community Edition)ですが、個人の好みに応じて適切なツールを選択してサンプルコードを実行することもできます。

操作手順

説明

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

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

ステップ1:OceanBase Cloudの接続文字列を取得する

  1. OceanBase Cloudコンソールにログインします。インスタンスリストページで、対象インスタンスの情報を展開し、対象テナントで、接続 > 接続文字列を取得 を選択します。

    詳細な操作については、接続文字列の取得をご参照ください。

  2. 作成済みのOceanBase Cloudに基づいて、以下のURLの該当する情報を入力します。

    説明

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

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

    パラメータ説明:

    • host:OceanBase Cloudの接続アドレスを指定します。例:t********.********.oceanbase.cloud。
    • port:OceanBase Cloudの接続ポートを指定します。デフォルトは3306です。
    • schema_name:アクセスするスキーマ名です。
    • user_name:データベースへのアクセスアカウントを指定します。
    • 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 Cloudの接続文字列を取得する の情報に基づいて、hibernate.cfg.xml ファイル内のデータベース接続情報を修正します。

説明

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

例:

  • データベースドライバーの名前:com.mysql.cj.jdbc.Driver
  • OceanBase Cloudの接続アドレスは t5******.********.oceanbase.cloud です。
  • アクセスポートは3306を使用します。
  • アクセスするスキーマ名は test です。
  • テナントの接続アカウントは mysql001 です。
  • パスワードは ****** です。

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

<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://t5******.********.oceanbase.cloud:3306/test</property>
<property name="hibernate.connection.username">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'}

よくある質問

1. 接続タイムアウト

接続タイムアウトの問題が発生した場合は、JDBC URLに接続タイムアウトパラメータを設定できます。

jdbc:mysql://host:port/database?connectTimeout=30000&socketTimeout=60000

2. 文字セットの問題

正しい文字エンコーディングを確保するために、JDBC URLに正しい文字セットパラメータを設定します。

jdbc:mysql://host:port/database?characterEncoding=utf8&useUnicode=true

3. SSL接続

OceanBase CloudデータベースとのSSL接続を有効にするには、JDBC URLに以下のパラメータを追加します。

jdbc:mysql://host:port/database?useSSL=true&requireSSL=true

4. アカウントパスワードに含まれる特殊文字

ユーザー名やパスワードに特殊文字(例:#)が含まれている場合は、URLエンコードが必要です。

String encodedPassword = URLEncoder.encode(password, "UTF-8");

注意

MySQL Connector/J 8.xを使用する場合は、アカウントのパスワードにシャープ記号(#)が含まれないようにしてください。含まれていると、接続エラーが発生する可能性があります。

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

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

  1. データベース情報の設定。
  Hibernateとデータベース接続のパラメータを設定します。これには、データベース接続用のドライバークラス名、URL、ユーザー名、パスワードが含まれます。

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

  **コード:**

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

    <main id="notice" type='explain'>
    <h4>説明</h4>
    <p>以下のパラメータは参考用です。サポートされているパラメータの完全なリストではありません。他のパラメータを設定する必要がある場合は、関連ドキュメントを参照して詳細なパラメータ情報を入手してください。</p>
    </main>

  *   `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と指定します。

  **コード:**

  ```xml
  <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>
  ```
  1. 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 オブジェクトの作成に使用します。 Hibernateのクエリ操作に使用されるパラメータなしのコンストラクタメソッドを定義します。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 による OceanBase Cloud への接続サンプルプログラム
前へ

次のトピック

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