Skip to main content

السبات تسمية استراتيجية استمرار شمل


إستراتيجية تسمية الإسبات persistence. xml
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
استراتيجية تسمية الإسبات.
أنا بناء ريست ويبسيرفيس مع الربيع (التمهيد) وأنا أحاول استخدام السبات كما رسم الخرائط أورم دون أي التكوين شمل.
أنا أساسا حصلت عليه للعمل، ولكن أنا عالقة مع قضية التكوين. أنا إنشاء لوكالكونتينيرنتيتياناجيرفاكتوريبيان كماBean في ملفConfiguration. أضع hibernate. ejb. naming_strategy كما هو الحال في المثال التالي -> يبدو أن هذا يعمل على إنشاء الجداول إذا لم تكن موجودة (أسماء الأعمدة هي كاملكيس مثل في بلدي فئاتEntity) ولكن عندما يتم تنفيذ الاستعلام، السبات "ينسى" حول تكوين التسمية هذا ويحاول استخدام نوع آخر من استراتيجية التسمية مع under_score_attributes -> من الواضح أن تلك الاستعلامات تفشل. هل هناك أي ممتلكات أخرى تحتاج إلى تعيين؟ أو طريقة أخرى لتكوين الخصائص ويفضل دون إضافة cfg. xml أو persistence. xml؟
هيبرناتيباوتوكونفيغوراتيون يسمح باستراتيجية التسمية (وجميع خصائص جبا الأخرى) ليتم تعيينها عبر التكوين الخارجي المحلي. على سبيل المثال، في application. properties:
هل حاولت تعيين هذه الخاصية باستخدام خصائص برنامجية؟ أو ملف hibernate. properties في الجذر حزمة؟ أو خاصية نظام جفم؟ يتم وصف جميع هنا.
من تجربتي، هناك صعوبة في بعض الأحيان لتشخيص مشاكل السبات إذا كنت تصر على عدم استخدام أي شمل (الذي سيكون تفضيلي كذلك). إذا كان أي شيء آخر يعمل، قد تضطر إلى تحديد ملف التكوين على الأقل.
حصلت على الحل الآن.
يجب استبعاد جباوتوكونفيغوراتيون. لا يزال أعتقد أن هذا قد يكون علة، كما عادة فإنه يجب تلقائيا "الوقوف مرة أخرى" عندما أستخدم بلدي @ كونفيغوراتيون.

إستراتيجية تسمية الإسبات persistence. xml
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
يتم تجاهل استراتيجية تسمية الإسبات.
أنا تكوين الإسبات في طلبي من خلال persistence. xml الذي يشبه:
ومن خلال فئة إنتيتيماناجيروتيل التي تخلق إنيتماناجيرفاكتوري:
حاولت تكوين استراتيجية التسمية إلى إمبروفيدنامينغستراتيغي في persistence. xml وفي أوفيريدس التكوين. ومع ذلك، فإنه لا يعمل والإسبات يولد جداول جديدة مع أسماء الجدول كاملكيس.
أي فكرة ما أفعل الخطأ هنا؟
يبدو تعيين الخاص بك على ما يرام حتى أظن أن يتم تجاوز التكوين عن طريق شيء في عملية بوتستراب.

تنفيذ استراتيجية تسمية مخصصة مع الإسبات.
كما كل واحد منكم على دراية السبات يعرفون، وليس كل الشروح كيان إلزامية. تتضمن التعليقات التوضيحية غير الإلزامية هذه التعليقات التوضيحيةTable وColumn. ومع ذلك، على الرغم من أن هذه الشروح ليست مطلوبة، وتركهم لم يكن أبدا خيار بالنسبة لي. أنا ببساطة دون & # 8217؛ ر مثل أسماء الجدول والأعمدة التي يتم إنشاؤها بواسطة الإسبات ما لم يتم تعيينها بشكل صريح.
يتم التحكم في اصطلاح تسمية عناصر قاعدة البيانات وعناصر المخطط بواسطة التنفيذ المستخدم لواجهة org. hibernate. cfg. NamingStrategy. السبات 3.6 لديه أربعة تطبيقات من هذه الواجهة:
ومع ذلك، لا أحد من هذه التطبيقات تلبية متطلبات بلدي والتي هي:
يجب أن تكون جميع الأحرف صغيرة. يجب أن تكون أسماء الجداول بصيغة الجمع. يجب فصل الكلمات باستخدام تسطير أسفل السطر.
بما أن فئة إمبروفيدنامينغستراتيغي تقريبا ما أبحث عنه (خطأه الوحيد هو أنه يقوم بإرجاع اسم الجدول في شكل مفرد)، قررت إنشاء إستراتيجية تسمية مخصصة من خلال توسيعها وتجاوز أسلوب كلاسوتابلنام (). وتعطى شفرة المصدر للتنفيذ بلدي في ما يلي:
الخطوة التالية هي تهيئة الإسبات لاستخدام إستراتيجية التسمية المخصصة. إذا كنت تستخدم الإسبات، يمكنك إما.
يمكنك تعيين مرجع لاستراتيجية التسمية المخصصة من خلال استدعاء الأسلوب سيتنامينغستراتيغي () من فئة التكوين كما هو موضح في قسم تنفيذ تسمية التسمية من الوثائق المرجعية الإسبات. يمكنك تعيين قيمة الخاصية hibernate. ejb. naming_strategy إلى net. petrikainulainen. hibernate. util. CustomNamingStrategy في ملف توصيف شمل هيبرنات كما هو موضح في قسم تكوين شمل من الدليل المرجعي للإسبات.
إذا كنت تستخدم جبا، يمكنك تعيين استراتيجية التسمية المستخدمة عن طريق تعيين قيمة الخاصية hibernate. ejb. naming_strategy إلى net. petrikainulainen. hibernate. util. CustomNamingStrategy في persistence. xml كما هو موضح قسم التعبئة والتغليف من الدليل المرجعي إسبتي ماناجر الإسبات .
بعد تهيئة الإسبات لاستخدام استراتيجية التسمية المخصصة المنفذة، يمكنك إزالة التعليقات التوضيحيةTable و @ كولومن من فئات الكيانات (هذا ليس صحيحا تماما، ولكنني سأصف أوجه القصور في الحل لاحقا). على سبيل المثال، إذا كان لديك شخص فئة الكيان، فإن شفرة المصدر الخاصة به قد تبدو مثل هذا:
بعد استخدام هيبرنات لاستراتيجية التسمية الجديدة، ستبدو الشفرة المصدرية للكيان الشخصي بهذا الشكل (ولكن ستظل هيبرنات تستخدم نفس أسماء الجدول والأعمدة التي تم تحديدها صراحة في المثال السابق):
لقد وصفت لك الآن كيف يمكنك تنفيذ وتكوين استراتيجية تسمية مخصصة مع الإسبات. ومع ذلك، فإن الحل الموصوفة في هذه المدونة بلوق أبعد ما يكون عن الكمال. ولها أوجه القصور التالية:
أنها لا تنتج دائما أسماء الجدول الصحيح نحيا. على سبيل المثال: صيغة الجمع هي كيان كلمة ليست كيانات. ومن الكيانات. هذه المشكلة من الصعب جدا لمعالجة تلقائيا ولكن تذكر أنه يمكنك دائما استخدامTable الشرح لحل هذه الحالات. إذا كنت تريد إضافة قيود إلى العمود في فئة الكيان، فلا يزال يتعين عليك إضافة التعليق التوضيحيColumn. هذه ليست مشكلة بالنسبة لي لأنني دائما إنشاء البرامج النصية إنشاء قاعدة البيانات يدويا وإضافة قيود على قاعدة البيانات. ومع ذلك، إذا كنت ترغب في إنشاء قاعدة البيانات الخاصة بك باستخدام الإسبات، سيكون لديك لتحديد القيود باستخدامColumn التعليق أو إضافة القيود المطلوبة يدويا إلى قاعدة البيانات التي تم إنشاؤها. لا يزال يتعين عليك تكوين العلاقات بين الكيانات باستخدام التعليقات التوضيحية. إن إيجاد حل تلقائي لهذه المشكلة يعني أن علي أن أخترع نوعا من تسمية الأسماء لأسماء جداول وأعمدة الانضمام. هذا شيء أنا لست على استعداد للقيام به. ومع ذلك، إذا كان لديك حل آخر في الاعتبار، واسمحوا لي أن أعرف!
الوظائف ذات الصلة.
عن المؤلف.
بيتري كينولينن هو متحمس لتطوير البرمجيات والتحسين المستمر. وهو متخصص في تطوير البرمجيات مع إطار الربيع ومؤلف كتاب البيانات الربيع.
شكر! مقالة رائعة :)
مرحبا بك. أنا سعيد أن أسمع أن كنت أحب ذلك.
حقا لطيفة أن تعرف عن هذا بيتري. حقا بسيطة ومفيدة لتجنب استخدام أسماء مرمزة في كل مكان.
يسعدنا أن نعلم أن مشاركة المدونة هذه كانت مفيدة لك. من ناحية أخرى، لقد غيرت ذهني حول التعليقات التوضيحية جبا. في الوقت الحاضر أنا إضافتها في أي حال لأنني أعتقد أنها توفر وثائق مفيدة لمطورين آخرين.
أيضا، إذا قمت بتشغيل اختبارات التكامل باستخدام إستراتيجية إنشاء مخطط إنشاء إنشاء يجب تحديد القيود في البرامج النصية إنشاء قاعدة البيانات وفي نموذج المجال. وإلا يتم تشغيل اختبارات التكامل الخاصة بك مقابل قاعدة بيانات لا تتطابق مع قاعدة بيانات الإنتاج الخاصة بك. هذا يبدو قليلا محفوفة بالمخاطر جدا بالنسبة لي.
لدي مشكلة. ماذا لو كنت أريد أن بادئة اسم الخاصية مع اسم الجدول؟ تعذر العثور على طريقة للوصول إلى اسم الحكاية من أساليب اسم الخاصية.
لقد ألقيت نظرة سريعة على جافادوس من فئة إمبروفيدنامينغستراتيغي وواجهة نامينجستراتيغي ويبدو أن هذا غير ممكن (هناك بعض الطرق التي تقدم أسماء الجداول كمعلمات للطريقة ولكن أفترض أنك تتحدث عن & # 8220؛ # 8221؛ الأعمدة).
شكرا للفن. حاولت فقط استخدام org. hibernate. cfg. ImprovedNamingStrategy في مشروع الحيوانات الأليفة بلدي، ولكن وجدت أنه في هذه الحالة أحتاج إلى تحديد صريحJoinColumn مع اسم العمود :-( أعني أنه قبل أن أكتب:
البلد القطري الخاص؛
ولكن الآن أنا بحاجة إلى الكتابة.
البلد القطري الخاص؛
وأنه يمنعني من استخدام هذه الميزة.
مرحبا بك. يسعدنا أن نعلم أن مشاركة المدونة هذه كانت مفيدة لك.
هذه الاستراتيجيات تسمية مختلفة في الواقع مربكة بعض الشيء. في هذه اللحظة يمكنني استخدام إمبروفيدنامينغستراتيغي وتحديد أسماء الأعمدة نفسي. ومن المحبط بعض الشيء ولكن بطريقة ما أشعر أنه هو أقل طريقة مؤلمة للقيام بذلك.
مرحبا أنا أبحث عن حل فقط أن يكون ميتابلانكولومنام إلى my_table_and_column_name.
أرى المثال الخاص بك يستخدم الجمع ولكن أنا فقط بحاجة إلى الأشياء الأساسية. هل تعرف أي حل الربيع / السبات لاستخدام والوصول إلى هذا الهدف؟
للأسف أنا لا أعرف كيف يمكنك القيام بذلك. المشكلة هي أن واجهة نامينجستراتيغي لا توفر اسم جدول قاعدة البيانات كمعلمة أسلوب إلى الأساليب المستخدمة لإنشاء أسماء الأعمدة. وهذا هو السبب في أنني أفترض أن هذا لا يمكن القيام به.
شكرا على استخدام المادة الكاملة. I & # 8217؛ نفذت كما وصفت، ولكن أسلوب كوستومنامينغستراتيغي () الحصول على دعا فقط عند نشر ملف وار. في أي نقطة وكيف ينبغي استدعاء الأسلوب كوستومنامينغستراتيغي الكتابة فوق اسم الجدول؟
أود الاتصال في فئة الخدمة قبل فئة داو مثبت وتمرير اسم الجدول كمعلمة. مساعدتكم سيكون موضع تقدير.
بقدر ما أعرف، لا يمكنك استدعاء استراتيجية تسمية مخصصة من التعليمات البرمجية الخاصة بك. يمكنك استخدامه فقط لتغيير اصطلاحات التسمية التي يتم استخدامها بواسطة هيبرنات (على سبيل المثال، يستخدم هيبرنات هذا المكون عند إنشاء أسماء لجداول قاعدة البيانات وأعمدة الجدول).
لماذا تريد الاتصال به من فئة الخدمة؟ إذا كنت اسمحوا لي أن أعرف ما تريد القيام به، وأنا قد تكون قادرة على مساعدتك في العثور على حل جيد لمشكلتك.
هل هناك طريقة لتخصيص اسم الجدول تسلسل كذلك. شكر.
يمكنك تخصيص اسم التسلسل باستخدام أحد هذين الخيارين:
إذا كنت ترغب في استخدام التعليقات التوضيحية "الإسبات"، تحقق من مشاركة المدونة بعنوان: إسبنتيتي إيدنتيتي، سكنس أند تابل (سكنس) جينيراتور. إذا كنت ترغب في استخدام التعليقات التوضيحية جبا، يجب أن تقرأ قسم استراتيجية تسلسل من المقالة بعنوان: القيم التي تم إنشاؤها تلقائيا.
بقدر ما أعرف، لا توجد طريقة لإنشاء استراتيجية تسمية تدعم هذا لأن واجهة نامينجستراتيغي لا تعلن طريقة يمكن استخدامها لهذا الغرض.
يتم استخدام الطقس هذا المثال لتعيين اسم الكيان في وقت التشغيل.
لا. يتم استخدامه تلقائيا لتكوين اسم جدول قاعدة البيانات وأسماء أعمدة قاعدة البيانات.
كتابة اختبارات أفضل.
ماستر إطار الربيع.
بناء التطبيق الخاص بك.
العثور على أفضل الدروس.
© 2018-بريسنت بيتري كاينولاينن (جميع رموز التعليمات البرمجية مرخصة تحت رخصة أباتشي 2.0)
جميع الصور مشاركة هي ملك لأصحابها ولا يجوز إعادة استخدامها.

إستراتيجية تسمية الإسبات persistence. xml
استراتيجية التسمية المحسنة التي تفضل جزءا لا يتجزأ من تسليط الضوء على أسماء الحالات المختلطة.
مثال سينغلتون مريحة.
إرجاع اسم الفئة غير المؤهلين، حالة مختلطة تحويلها إلى سفلية.
قم بإرجاع اسم جدول المجموعة أي جمعية ذات جدول ربط.
تحويل حالة مختلطة لشرط سفلية.
قم بإرجاع اسم الخاصية أو بروبيرتيتابلينام.
أعد الوسيطة.
قم بإرجاع اسم العمود إذا كان صريحا أو تسلسل اسم الخاصية والعمود المشار إليه.
لعرض اسم الجدول إذا كان صريحا أو إذا كان هناك جدول مصاحب، يتم ربط تسلسل جدول كيان المالك والجدول المرتبط به بخلاف تسلسل جدول كيان المالك واسم الموقع غير المؤهل.
قم بإرجاع اسم العمود أو اسم الخاصية غير المؤهل.
إرجاع كامل مسار الممتلكات مع سيبيراتورس السفلية، حالة مختلطة تحويلها إلى سفلية.
تحويل حالة مختلطة لشرط سفلية.
ImprovedNamingStrategy.
classToTableName.
محدد بواسطة: كلاستوتابنام في الواجهة نامينجستراتيغي المعلمات: كلاسنام - اسم الفئة المؤهل بالكامل الإرجاع: اسم الجدول.
propertyToColumnName.
محدد بواسطة: بروبيرتوتوكولومنام في الواجهة نامينجستراتيغي المعلمات: بروبيرتينام - مسار خاصية الإرجاع: اسم عمود.
محدد بواسطة: تابلنام في الواجهة نامينجستراتيغي المعلمات: تابلنام - اسم الجدول الإرجاع: اسم الجدول.
اسم العمود.
محدد بواسطة: كولومن في الواجهة نامينجستراتيغي المعلمات: كولومنام - اسم عمود الإرجاع: اسم عمود.
addUnderscores.
collectionTableName.
محدد بواسطة: كولكتيونتابلينام في الواجهة نامينجستراتيغي أونرتيتيتابل - اسم الجدول الجانبي للمالك مرتبط إنتيتيتابل - اسم الجدول الجانبي العكسي إذا كان أي بروبيرتينام - دور المجموعة.
joinKeyColumnName.
تحديد بواسطة: جوينكيكولومنام في واجهة نامينجستراتيغي المعلمات: جوينكولومن - انضم اسم العمود (منطقي واحد) تستخدم للانضمام مع جويندتابل - انضم اسم الجدول (أي الجدول المشار إليه) المستخدمة للانضمام مع.
foreignKeyColumnName.
محدد بواسطة: أودينكيكولومنام في الواجهة نامينجستراتيغي المعلمات: بروبيرتينام - اسم الخاصية المعنية بروبيرتيتابلينام - اسم جدول الخاصية المعنية (منطقي واحد) ريفيرنسدكولومنام - اسم العمود المشار إليه المعنية (منطقي واحد)
logicalColumnName.
محدد بواسطة: لوجيكالكولومنام في الواجهة نامينجستراتيغي المعلمات: كولومنام - اسم عمود معين إذا كان أي بروبيرتينام - اسم الخاصية من هذا العمود.
logicalCollectionTableName.
محدد بواسطة: لوجيكالكولكتيونابلنام في الواجهة نامينجستراتيغي المعلمات: تابلنام - البيانات الوصفية اسم المالك أونليتيتابل - جدول جدول كيان جدول المالك (المنطقي) أسوسياتدنتيتيتابل - اسم الجدول الجانبي العكسي إذا كان أي (منطقي) بروبيرتينام - دور المجموعة.
logicalCollectionColumnName.
محدد بواسطة: لوجيكالكولكتيونولومنام في الواجهة نامينجستراتيغي المعلمات: كولومنام - اسم عمود معين في البيانات الوصفية إذا كان أي بروبيرتينام - اسم الخاصية المشار إليها العمود - اسم العمود المشار إليه (المنطقي واحد) في الانضمام.

إستراتيجية تسمية مخصصة للإسبات.
استراتيجية التسمية.
من خلال طلب العميل، وكنت بحاجة إلى تغيير الطريقة السبات أسماء الأعمدة المفتاح الخارجي.
بشكل افتراضي، يضيف "الإسبات" العمود المشار إليه كاحقة، على سبيل المثال، entity_id، لكني احتاج إلى إضافة العمود المشار إليه كبادئة بحيث يتم تسميته باسم id_entity.
بدلا من التعليق على جميع الحقول باستخدام @ كولومن واستخدام خاصية الاسم، قررت تخصيص الطريقة التي تسميها هيبرنات هذه الأعمدة. ولتحقيق ذلك، أحتاج إلى إنشاء إستراتيجية تسمية مخصصة.

Comments

Popular posts from this blog

الرسم البياني لتداول العملات الأجنبية

الرسوم البيانية الفوركس من ترادينغشارتس. تحقق من صفحاتنا الفوركس الرسم البياني الجديد: المزيد من الميزات، المزيد من العملات، وأسهل للاستخدام، ومع يقتبس تدفق المتكاملة! انقر هنا لنظام الرسوم البيانية فوركس الجديد. أزواج العملات الرئيسية. انقر فوق أي من أزواج الفوركس التالية للخريطة المقابلة: ور / أوسد التقويم الاقتصادي. خيارات الخيارات الثنائية مجاملة من نادكس. أندرو هيشت / تفن. ولا تزال الأسهم تجتذب رؤوس الأموال مثل المغنطيس. وعلى الرغم من ذلك، فإن ثلاثة رفعات أسعار الفائدة من مجلس الاحتياطي الفدرالي الأمريكي منذ ديسمبر 2018 لم تسفر إلا عن معدل فائدة بنك الاحتياطي الفيدرالي بنسبة 1٪. داو عند مستويات قياسية: كيفية التداول مع مخاطر محدودة. بواسطة غيل ميرسر / مؤسس ترادرسيلبديسك. العديد من المهنيين يصرخون لعدم دخول سوق الأسهم كما هو في مستويات قياسية ومن المتوقع حدوث انعكاس في المستقبل القريب مناقضة الخيارات الثنائية الصفقات مع فيكس تحت 10 $. بواسطة تومي أوبراين / تفن. تومي أوبراين / تفن مؤشر فيكس، الذي يشار إليه في وقت ما باسم مؤشر الخوف أو مقياس الخوف، هو تمثيل لتوقع تقلبات السوق في المس...

المنظر العالمي، تحدث، فوريكس

kupifarmu. ru. المنظر العالمي، تحدث، فوريكس. المنظر العالمي، تحدث، فوريكس. أي شخصية للمستثمر أفضل تصفك؟ استخدام هذا الموقع يشكل قبول غلوبال اتفاق المستخدم لدينا. تجارة البرمجيات يعمل من خلال التركيز على المبادئ الأساسية التي هي. يحاول المتداول "المتآمر" التنبؤ بالحركة السوقية التالية. أوربيكس - عرض خاص. أنا أحب هذا و هو. الموقع لا يأخذ. مع غلوبزل طويلة من الركود السياسة النقدية ربما ينتهي إلى نهايته، يحدد عبد الله غزور حيث يرى المخاطر وأفضل المكافآت. هذا الموقع غير مخصص أو معتمد للمستثمرين الأمريكيين. بقبولك لدخول هذا الموقع فإنك تؤكد أنك لست مستثمرا أمريكيا. في زيارة هذا الموقع كنت تغادر kupifarmu. ru وزيارة موقع برعاية شرودر لإدارة الاستثمار المحدودة سكروديرزوفيتش هو المسؤول الوحيد عن محتويات الموقع. يتم إصدار المواد على هذا الموقع من قبل شرودرز ويحتوي على وجهات نظر وآراء الأفراد معينين هو للحصول على معلومات عامة فقط، وربما لا تمثل بالضرورة وجهات النظر التي أعرب عنها أو تنعكس في غيرها من شرودرز غوبال، استراتيجيات أو صناديق. قد لا تكون استراتيجيات الاستثمار التي تمت مناقشتها...

تقييم استراتيجية التداول

تقييم استراتيجية التداول وفي ظل المناخ الحالي المتمثل في خفض التكاليف وتقليص حجمها، يتعرض المهنيون في مجال التدريب لضغوط متزايدة لتقديم أدلة إيجابية وقابلة للقياس على المساهمة في التدريب في نهاية المطاف. ومع ذلك، فإن تقييم آثار ونتائج التدريب أمر صعب. وفيما يلي بعض الأفكار حول التقييم، التي تم جمعها من تجاربنا الخاصة، والتي قد تجدها مفيدة في التخطيط لما يجب تقييمه، وكيفية القيام بذلك. الغرض من التقييم. ويمكن القول إن التدريب الوحيد الذي ينبغي أن توفره المنظمات هو التدريب الذي يسهم بطريقة ملموسة في تحسين الأداء وتحقيق احتياجات الأعمال التجارية وأهدافها. وسوف تدرك المنظمات التي تعمل من أجل مبادرة المستثمرين في وضع االستثمار الدولي أن التقييم هو أحد المتطلبات التي يتم اختبار أداء التدريب عليها كجزء من عملية االعتراف: مؤشر وضع االستثمار الدويل: & كوت؛ المنظمة تقيم تأثير التدريب والتطوير على المعرفة والمهارات والمواقف. & كوت؛ مؤشر وضع الاستثمار الدولي المؤشر 4-2: & كوت؛ تقوم المنظمة بتقييم تأثير إجراءات التدريب والتطوير على الأداء. & كوت؛ مؤشر وضع االستثمار الدويل: وتقوم ال...