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 をクリックしてサンプルプロジェクトをダウンロードします
  </a>

前提条件

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

説明

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

操作手順

説明

本ドキュメントに記載されている手順は、Windows 環境に基づいて作成されています。他のオペレーティングシステム環境やコンパイラを使用している場合、手順が若干異なる場合があります。

  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:アクセスする Schema 名を指定します。
    • user_name:データベースにアクセスするためのアカウントを指定します。
    • password:アカウントのパスワードを指定します。

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

操作手順 2:java-oceanbase-hibernate プロジェクトを IDEA にインポートする

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

  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. プロジェクトの状況を確認します。

操作手順 3:java-oceanbase-hibernate プロジェクト内のデータベース接続情報を変更する

手順 1:OceanBase Cloud の接続文字列を取得する の情報に基づいて、hibernate.cfg.xml ファイル内のデータベース接続情報を変更します。

説明

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

例は以下の通りです:

  • データベースドライバ名は com.mysql.cj.jdbc.Driver です。
  • OceanBase Cloud の接続アドレスは t5******.********.oceanbase.cloud です。
  • アクセスポートは 3306 を使用します。
  • アクセスする Schema 名は 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. マッピングファイルの設定。

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

    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 要素を使用してデータベース接続のパスワードを指定します。

      コードは以下の通りです:

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

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

      説明

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

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

      コードは以下の通りです:

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

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

      コードは以下の通りです:

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

UserDao.java コードの紹介

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

UserDao.java ファイルのコードは主に以下の部分で構成されています:

  1. 他のクラスとインターフェースの参照。

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

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

    コードは以下の通りです:

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

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

  1. UserDao クラスインスタンスの初期化操作。

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

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

    コードは以下の通りです:

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

    selectUserById メソッドを通じて、提供された ID パラメータで対応するユーザー情報をクエリします。

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

    コードは以下の通りです:

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

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

    コードは以下の通りです:

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

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

    コードは以下の通りです:

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

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

    コードは以下の通りです:

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

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

    コードは以下の通りです:

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

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

    コードは以下の通りです:

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

User.java コードの紹介

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

User.java ファイルのコードは主に以下の部分で構成されています:

  1. 他のクラスの参照。

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

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

    コードは以下の通りです:

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

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

    コードは以下の通りです:

    @Entity
    @Table(name = "test_hibernate_mysql")
    
  3. User クラスの定義。

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

    1. id と name の 2 つの属性を定義します。 アノテーションを使用して、User クラスの id および name 属性とデータベーステーブルの列の対応関係を識別します。 @Id アノテーションを使用して id 属性を主キーとして識別し、@GeneratedValue アノテーションで主キーの生成戦略をシーケンスに指定し、@Column アノテーションで属性とデータベーステーブルの列のマッピング関係を指定します。id 属性はユーザー ID の保存に使用され、name 属性はユーザー名の保存に使用されます。

      コードは以下の通りです:

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

      User オブジェクトを作成するために、User クラスの 2 つのコンストラクタを定義します。 Hibernate クエリ操作用に引数なしのコンストラクタを定義します。id および name 属性を初期化するために、引数ありのコンストラクタを定義します。

      コードは以下の通りです:

      public User() {
      }
      
      public User(int id, String name) {
          this.id = id;
          this.name = name;
      }
      
    3. id と name の値の取得と設定。

      id および name 属性の値を取得および設定するために、User クラスの 4 つのメソッドを定義します。 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 オブジェクトの文字列表現を返すために、User クラスの toString メソッドをオーバーライドします。 @Override を定義して親クラスの同名メソッドをオーバーライドします。User オブジェクトの文字列表現を返すために toString メソッドを定義します。文字列の連結を通じて、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 クラス:IO 例外の処理に使用されます。
    • 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 による OB 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 コードの紹介
完全なコードの表示
関連ドキュメント