[解決済み] ブール型に0/1ではなくY/Nを格納するようにハイバーネートを設定する(JPAを使用)
2023-07-15 07:46:50
質問
JPA/Hibernateを使用して、以下のような永続化を行うことができますか?
Boolean
型として
Y/N
? データベースでは (カラムは次のように定義されています。
varchar2(1)
. として格納されていますが、現在は
0/1
. データベースはOracleです。
どのように解決するのですか?
私がこれを行う方法を考え出した唯一の方法は、私のクラスのための2つのプロパティを持っていることです。1 つはプログラミング API 用のブール値で、マッピングには含まれていません。このプロパティはゲッターとセッターで、Y/Nのプライベートchar変数を参照します。次に、Hibernate マッピングに含まれる別の保護されたプロパティがあり、そのゲッターとセッターはプライベートの char 変数を直接参照します。
編集:指摘されているように、Hibernateに直接組み込まれている他のソリューションがあります。内蔵のオプションと相性の悪いレガシー フィールドを使用している状況で動作する可能性があるため、この回答を残しています。その上、このアプローチには深刻な悪影響はありません。
関連
-
[解決済み] PersistentObjectException: JPAとHibernateが投げるpersistに渡されたデタッチド・エンティティー
-
unsigned char* から const jbyte* {aka const signed char*} への変換が無効です。
-
JNIエンカウンターエラー:構造体またはユニオンではない何かでメンバー 'FindClass' のリクエスト
-
Server Tomcat v9.0 Server at localhost の起動に失敗しました。
-
Java:未解決コンパイル問題の解決方法
-
[解決済み】SIDの代わりにService Nameを使用してOracleに接続する方法
-
[解決済み】混乱中。JPAとHibernateでの@NotNullと@Column(nullable = false)の比較。
-
[解決済み] Hibernate JPA シーケンス(非Id)
-
[解決済み] JPAとHibernateのpersist()とmerge()の違いは何ですか?
-
[解決済み] JPAとHibernateで日付/時刻とタイムスタンプをUTCタイムゾーンに保存する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
executeQuery()でデータ操作文が発行できない。解決方法
-
java.sql.SQLException: executeQuery()でデータ操作文を発行できません。
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
Git Pull Failed マージされていないファイルがあるため、Pull できません。
-
JAVA_HOME環境変数が正しく定義されていない問題を解決する
-
unsigned char* から const jbyte* {aka const signed char*} への変換が無効です。
-
ecplise プロンプトが表示されます。"選択したものは起動できません。" "最近の起動はありません。"
-
Java基礎 - マッピングとQ/A
-
Zipファイルの圧縮・解凍にantを使用する