سؤال

لدي واحدة من العديد من علاقة بين جدولين.العديد من الجدول يحتوي على 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)

ضبط طول (بالبايت) على أساس الاحتياجات الخاصة بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top