"الفئة العامة Foo" مقابل."class Foo" في فئات مجال Groovy

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

  •  22-08-2019
  •  | 
  •  

سؤال

يقوم كود Groovy التالي بإنشاء فئة مجال مستمرة لـ GORM تسمى Foo عند كتابتها إلى Grails-app/domain/Foo.groovy:

class Foo {
  String someField
}

ومع ذلك، إذا كتبت بدلاً من ذلك "public class Foo"، فلن يستمر الفصل في GORM (أي.لم يتم إدخال طريقة save()، ولم يتم إنشاء جدول قاعدة بيانات، وما إلى ذلك):

public class Foo {
  String someField
}

أقوم بتشغيل أحدث إصدار ثابت من Grails (1.1).

سؤال: هل هذا خطأ أم أنه السلوك المتوقع؟لماذا؟

التحديث رقم 1: سؤال فرعي ذو صلة:هل أنا الوحيد الذي يواجه هذه المشكلة؟سيكون من الجيد معرفة ما إذا كان أي شخص آخر قادرًا على تكرار ذلك.شكرًا!

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

المحلول

تكون فئات Groovy عامة بشكل افتراضي (كما هو الحال بالنسبة لطرق Groovy)، لذلك لن يكون هناك أي تغيير في السلوك إذا أضفت public.ومع ذلك، لا يمكنني إعادة إنتاج هذا السلوك/الخطأ في Grails 1.1.1

نصائح أخرى

يبدو وكأنه خطأ.

سأقوم بإدخال التفاصيل في JIRA وأحصل على الإجابة من المصدر.

http://jira.codehaus.org/browse/GRAILS

لا أحصل على هذا السلوك على 1.3.3

تحقق من أسلوب "isDomainClass" في DomainClassArtefactHandler.groovy.سترى (على الأقل في 1.3.3) الأنواع الوحيدة المستبعدة هي عمليات الإغلاق والتعدادات

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