0 امتیاز
قبل در برنامه نویسی توسط (186 امتیاز)
ویرایش شده قبل توسط

 در ارتباطهای از نوع one-to-one در تولیدگر کد در سمت قویتر رابطه یک لیست در نظر گرفته می شود و یک getter خاص برای تنها مقدار ثبت شده در لیست یاد شده تعریف میشود.

برای ساخت واسطهای کاربری سفارشی شده لازمه که امکان مقدار دهی به این فیلد وجود داشته باشه یعنی بتونیم این فیلد را که به ui-select مرتبط (bind) کردیم توی سرویس دریافت کنیم.

اما این زیادی خوش خیالی است چون setter مرتبط با اون وجود نداره و فیلد یاد شده همیشه null میشه.

اگر کد جنریتور کدی شبیه به این برای فیلدهای مرتبط با رابطه one-to-one تولید کنه مشکل برطرف میشه(انشالله):

 

public void setTheField_(TheFieldEntity e) {
  if (theField == null)
  theField.clear();
   theField=new HashSet<>();
  theField.add(e);

}

قبل توسط (186 امتیاز)
ویرایش شده قبل توسط
ظاهرا ثبت کد جاوا توی سوال لم مخصوصی داره.
من هر جور سعی کردم نشد.
لطفا خودتون زحمتش را بکشید.
قبل توسط (1.2هزار امتیاز)
کدی که تولید می شود، به این فیلدی که شما می فرمایید نیازی ندارد و بدون آن درست کار می کند. چون فرض می کند رابطه از سمت ضعیف قابل برقراری است. اگر چنین نیازی دارید گذاشتن این فیلد بخشی از سفارشی سازی است که خود برنامه نویس انجام می دهد.

1 پاسخ

0 امتیاز
قبل توسط (1.2هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ
تولیدگر کد فرض می کند که رابطه از سمت ضعیف برقرار می شود. بنابراین نیازی به این setter ندارد. با توجه به اینکه شما در حال تولید واسط کاربر سفارشی برای موجودیت قوی هستید که در همان فرم موجودیت ضعیف نیز انتخاب یا ویرایش شود، این فرض را نقض کرده اید. بنابراین اضافه کردن این setter نیز بخشی از سفارشی سازی شماست و نیازی نیست تولیدگر کد آن را به عهده بگیرد.

 

پی نوشت: در حال افزودن امکانی در رابطه های یک به یک هستیم که ساختار مورد نظر شما را نیز پوشش بدهد.
قبل توسط (186 امتیاز)
:-)
 چشم.
کار دیگه ای هم میتونیم بکنیم؟
قبل توسط (1.2هزار امتیاز)
دعا بفرمایید.

سوالات مشابه

0 امتیاز
1 پاسخ 399 بازدید
+1 امتیاز
1 پاسخ 581 بازدید
+1 امتیاز
1 پاسخ 588 بازدید
+1 امتیاز
1 پاسخ 611 بازدید
+2 امتیاز
1 پاسخ 747 بازدید
+1 امتیاز
1 پاسخ 280 بازدید
0 امتیاز
1 پاسخ 423 بازدید
+1 امتیاز
1 پاسخ 364 بازدید
+1 امتیاز
1 پاسخ 828 بازدید
...