كيفية إجبار الشحن على استخدام نوع العمود المناسب في MySQL لحقل الخريطة

StackOverflow https://stackoverflow.com/questions/2000073

سؤال

لدي مشكلة في الشجر 1.1.2 + MySQL.

فئة المجال الخاصة بي يحتوي على حقل

Map<String, Map<Integer, Integer>> priceMap

عندما أقوم بتشغيل التطبيق، ينشئ Charails جدول "شيء" و "شيء فرعي" "sprice_map". يحتوي "sport_price_map"

BIGINT(20) price_map
VARCHAR(255) price_map_idx
TINYBLOB price_map_elt

المشكلة هي أنه عندما أقام في العمود Pricemap حتى مع بيانات الخريطة الصغيرة مثل هذا "PRICEMAP: [ar: [100: 4، 500: 20، 600: 24]] '، يتجاوز حجم البيانات الحد الأقصى 255BYTES.

هل هناك أي طريقة لتحديد القيد الوعي للخريطة الداخلية (خريطة)، بحيث تستخدم الشجاعة MoversBlob أو Blobk بدلا من TinyBlob؟

راجع للشغل ... باستخدام DB في MEM، كل شيء يعمل بشكل جيد.

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

المحلول

كما تعلمون، هناك حظر رسم الخرائط لفئة المجال. ومع ذلك، قد تكون مشكلتك معقدة للغاية بالنسبة لتلك الوظيفة.

في مثل هذه الحالات، يمكنك تحديد صريح رسم الخرائط (عبر ملف HBM) لفئة المجال. هذا يسمح المرونة الكاملة للسبات.

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