Saya memiliki tabel database yang terlihat seperti:
buat jawaban tabel ( id int bukan null, question_id int bukan null, teks jawaban nol )
Tabel ini awalnya dibuat oleh Hibernate menggunakan atribut @Lob untuk kolom "jawaban". Saya tidak menyadarinya pada saat itu, tetapi ketika mengatur seperti itu, Hibernate menyimpan OID di kolom alih-alih teks yang sebenarnya. Semuanya berfungsi dengan baik ketika saya menggunakan Hibernate untuk mengambil nilai karena secara otomatis mengkonversi OID ke string CLOB, namun itu menjadi masalah kinerja dan saya ingin menyingkirkan OID.
pilih * dari jawaban ID QUESTION_ID JAWABAN =============================== 1 123 55123 2 234 51614 3 345 56127 seharusnya ID QUESTION_ID JAWABAN =============================== 1 123 Pria 2 234 203-555-1212 3 345 555 Main St. New York, NY
Keinginan saya adalah menambahkan kolom tambahan ke tabel "ANSWER_VALUE TEXT" dan melakukan sesuatu seperti di bawah ini untuk mendapatkan nilai aktual ke dalam tabel, lalu ubah Hibernasi sekitar untuk tidak menggunakan @Lob designator
perbarui jawaban atur ANSWER_VALUE = getValueFromOID (ANSWER)
Apakah fungsi "getValueFromOID" itu ada? Jika tidak, dapatkah saya mendapatkan beberapa petunjuk tentang cara membuatnya atau setidaknya bagaimana cara mengambil nilai OID yang sebenarnya?
Terima kasih
sumber
loread()
? postgresql.org/docs/9.0/static/lo-funcs.htmllo_read
.