سؤال

أحاول تعيين نوع العمود في OpenJPA على أنه ثنائي (5) لذلك أنا أستخدم الإعلان التالي:

@Column(name="MY_FIELD", columnDefinition="BINARY(5)")
public byte[] getMyField() {
    return myField;
}

ومع ذلك ، يتم إنشاء العمود دائمًا على أنه Blob:

| MY_FIELD   | blob         | YES  |     | NULL    |                |

أي أدلة على جعل هذا العمل؟

هل كانت مفيدة؟

المحلول

هذا خطأ في OpenJPA ، تم تقديمه بواسطة OpenJPA-740. لقد فتحت تقرير الأخطاء نيابة عنك: OpenJPA-1870.

نصائح أخرى

ال وثيقة السبات يقول التعليق التوضيحي @lob يجب استخدامه:

يشير LOB إلى أنه يجب استمرار العقار في نقطة أو clob اعتمادًا على نوع العقار: java.sql.clob ، الحرف [] ، char [] و java.lang.String في CLOB. سيتم استمرار java.sql.blob ، byte [] ، byte [] والنوع القابل للتسلسل في نقطة.

إنه يعمل بشكل جيد مع السبات: يجب أن يكون على ما يرام بالنسبة لك مع OpenJPA ، لأن توثيق يقول @lob يتم التعامل معه "بطريقة JPA قياسية".

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