次のようなデータベーステーブルがあります。
テーブルの回答を作成します( id intはnullではありません。 question_id intはnullではありません、 回答テキストnull )
このテーブルは、Hibernateによって「answer」列の@Lob属性を使用して最初に作成されました。そのときは気づきませんでしたが、そのように設定すると、Hibernateは実際のテキストではなくOIDを列に格納します。HIDを使用して値を取得すると、OIDがCLOB文字列に自動的に変換されるため、すべてが正常に機能しますが、パフォーマンスの問題になり、OIDを削除したいと考えています。
回答から選択* ID QUESTION_ID ANSWER =============================== 1 123 55123 2 234 51614 3 345 56127 する必要があります ID QUESTION_ID ANSWER =============================== 1 123男性 2 234 203-555-1212 3 345 555 Main St. New York、NY
私の望みは、テーブル「ANSWER_VALUE TEXT」に追加の列を追加し、実際の値をテーブルに取得するために以下のようなことを行い、@ Lob指定子を使用しないようにHibernateを変更することです。
回答の更新セットANSWER_VALUE = getValueFromOID(ANSWER)
その「getValueFromOID」関数は存在しますか?そうでない場合、どのように作成するか、少なくともOIDの実際の値をフェッチする方法について、いくつかの指針を得ることができますか?
ありがとう
loread()
か?postgresql.org/docs/9.0/static/lo-funcs.html