Tôi có một bảng cơ sở dữ liệu trông giống như:
tạo câu trả lời id int không null, question_id int không null, trả lời văn bản null )
Bảng này ban đầu được Hibernate xây dựng bằng cách sử dụng thuộc tính @Lob cho cột "answer". Tôi đã không nhận ra nó vào thời điểm đó, nhưng khi thiết lập theo cách đó, Hibernate lưu trữ một OID trong cột thay vì văn bản thực tế. Mọi thứ hoạt động tốt khi tôi sử dụng Hibernate để truy xuất các giá trị vì nó tự động chuyển đổi OID thành chuỗi CLOB, tuy nhiên nó đang trở thành một vấn đề về hiệu suất và tôi muốn thoát khỏi OID.
chọn * từ câu trả lời ID QUESTION_ID TRẢ LỜI =============================== 1 123 55123 2 234 51614 3 345 56127 nên là ID QUESTION_ID TRẢ LỜI =============================== 1 123 nam 2 234 203-555-1212 3 345 555 Chính St. New York, NY
Mong muốn của tôi là thêm một cột bổ sung vào bảng "ANSWER_VALUE TEXT" và làm một cái gì đó như bên dưới để lấy giá trị thực vào bảng, sau đó thay đổi Hibernate xung quanh để không sử dụng trình chỉ định @Lob
cập nhật câu trả lời được đặt ANSWER_VALUE = getValueFromOID (ANSWER)
Hàm "getValueFromOID" đó có tồn tại không? Nếu không, tôi có thể nhận được một số gợi ý về cách tạo một hoặc ít nhất là làm thế nào để lấy giá trị thực của một OID không?
Cảm ơn
loread()
chưa postgresql.org/docs/9.0/static/lo-funcs.html