السبات المحاصيل clob القيم الغريب
سؤال
لدي واحدة من العديد من علاقة بين جدولين.العديد من الجدول يحتوي على clob العمود.على clob عمود يبدو مثل هذا في السبات:
@CollectionOfElements(fetch = EAGER)
@JoinTable(name = NOTE_JOIN_TABLE, joinColumns = @JoinColumn(name = "note"))
@Column(name = "substitution")
@IndexColumn(name = "listIndex", base = 0)
@Lob
private List<String> substitutions;
وذلك أساسا أنا قد مذكرة مع بعض subsitutions ، ويقول "foo"
و "fizzbuzz"
.حتى في بلدي الجدول الرئيسي لا يمكن أن يكون علما مع معرف 4 و في بلدي NOTE_JOIN_TABLE
كنت قد صفين ، "foo"
و "fizzbuzz"
أن كل علاقة المذكرة.
ومع ذلك ، عند واحد من هؤلاء يتم إدراجها في قاعدة البيانات أكبر إحلال القيم اقتصاص أن تكون أقصر. حتى في هذه الحالة سوف يكون "foo"
و "fiz"
في DB بدلا من "foo"
و "fizzbuzz"
.
هل لديك أي فكرة لماذا يحدث هذا ؟ لقد راجعت وأكدت أنها لم يتم اقتصاص أي مكان في التعليمات البرمجية لدينا, انها ديفينتيلي السبات.
المحلول
العديد من JDBC, الإصدارات في وقت مبكر من أوراكل على وجه الخصوص ، مشاكل أثناء إدخال LOBs.هل تأكد أن الاستعلام السبات الحرائق مع نفس المعلمات ملزمة يعمل بنجاح في JDBC السائق ؟
نصائح أخرى
LOB/CLOB
العمود قد لا تكون كبيرة بما فيه الكفاية.السبات بعض الأعمدة الافتراضية أحجام LOB/CLOB
التي هي صغيرة نسبيا (قد تعتمد على ديسيبل).على أي حال, في محاولة شيء من هذا القبيل:
@Lob
@Column(length=2147483648)
ضبط طول (بالبايت) على أساس الاحتياجات الخاصة بك.