হাওটো: লিফট-রেকর্ড-স্কোয়্যারিলে কাস্টম ফিল্ড


92

আমি করতে চেষ্টা করছি EnumListFieldউত্তোলন / রেকর্ড / Squeryl, অনুরূপ MappedEnumListমধ্যে LiftMapper। স্টোরেজের ধরণটি দীর্ঘ / বড় হতে হবে। আমি বুঝতে পারি যে আমি যদি সংজ্ঞা দিই:

def classOfPersistentField = classOf[Long]

তারপরে স্কয়ারিল জানবে এটির একটি বড় কলাম তৈরি করা উচিত। এবং আমি জানি যে এটি setFromAny()মান নির্ধারণ করতে ব্যবহার করে লংকে যেতে পারে। যে টুকরোটি আমি পাই না তা হ'ল:

কিভাবে এটি ক্ষেত্রের মান পড়বে? যদি এটি ব্যবহার করে তবে এটি valueBoxএকটি পাবে Seq[Enum#Value]এবং কীভাবে এটি দীর্ঘায়িত করা যায় তা তা জানবে না।

আমি স্কোয়ারেলকে কীভাবে বলব যে আমার লংকে রূপান্তর Seq[Enum#Value]করতে, বা এমন একটি "গেটর" সংজ্ঞা দেবে যা একটি দীর্ঘ ফিরিয়ে দেয়, এবং এটি "সাধারণ" গেটের সাথে দ্বন্দ্ব করে না?


4
এই লিঙ্কটি সাহায্য করতে পারে: স্ট্যাকওভারফ্লো
মান্দার পণ্ডিত

এটি সম্ভব নয়, আপনাকে এটি সিরিজের অন্যান্য উপায়ে চেষ্টা করতে হবে যা আপনার প্রয়োজনের সাথে সাদৃশ্য করার মতো। এর জন্য আপনি এমএসডিএন সহায়তা চেষ্টা করতে পারেন।
সুনীল মুরাকা

উত্তর:


1

আপনি আপনার বৈধতা যুক্তিটি ভুলভাবে প্রয়োগ করছেন। রেকর্ড ক্ষেত্রটি বৈধ করার সঠিক উপায়টি ওভাররাইড করা

def validations: List[ValidationFunction]

যেখানে ValidationFunction একটি প্রকারের উপনাম alias

type ValidationFunction = ValueType => List[FieldError]

এবং আপনার ক্ষেত্রে মান টাইপ == স্ট্রিং।

পরবর্তী সমস্যাটি হল আপনার ডোমেন বৈশিষ্ট্য। আপনার বৈধকরণের কলটি শ্রেণীর সংজ্ঞায় অন্তর্ভুক্ত হওয়ায় আপনার ক্ষেত্রটি তৈরি হলে এটি ডাকা হবে।


আমি পাঁচ বছরেরও বেশি সময় ধরে স্কালাল, এবং তাই লিফট / রেকর্ড / স্কোয়ারিল ব্যবহার করি নি। আমি এটি সম্পর্কে সব ভুলে গেছি, এবং তাই আপনার উত্তরটি সঠিক কিনা এবং সমস্যার সমাধান হয় কিনা তা সিদ্ধান্ত নেওয়ার জন্য আমি আর যোগ্য নই। এক্ষেত্রে স্ট্যাক-ওভারফ্লো "প্রক্রিয়া" কী হওয়া উচিত তা আমি নিশ্চিত নই। আমি "মেটা" জিজ্ঞাসা করব ...
সেবাস্তিয়ান ডিয়ট

"মেটা" বললেন "অপেক্ষা করুন এবং দেখুন"; যদি আপনার উত্তরটি +1 পেয়ে যায় তবে এটি "সম্ভবত সঠিক" এবং আমি এটি গ্রহণ করতে পারি ...
সেবাস্তিয়ান ডিয়ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.