+1 امتیاز
قبل در برنامه نویسی توسط (16 امتیاز)
ویرایش شده قبل توسط

در یک نرم افزار جاوایی که در آن از iBatis بعنوان orm استفاده شده است. بهترین راه برای تخصیص دادن مقدار پیش فرض به یک property چیست؟

1 - انتساب مقدار پیش فرض به فیلد در کلاس آن مانند زیر:

private Boolean prop = Boolean.TRUE;

2 - مشخص کردن مقدار پیش فرض در annotation ها :

@Column(name="prop", columnDefinition="VARCHAR2(1 CHAR) default '0' ")

3 - اختصاص مقدار پیش فرض در زمان تعریف ستون جدول در دیتابیس :

prop varchar2(1 char) DEFAULT '0';

آیا روش 1 به کلی اشتباه است؟
با تشکر

2 پاسخ

+3 امتیاز
قبل توسط (1.1هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

به نظر من روش دوم بهتره. در JPA من خودم از روش دوم استفاده می کنم و دلیلم هم اینه که مقدار پیش فرض در سمت دیتابیس ست میشه و از طرف دیگر اینکار در لایه ORM انجام میشه.

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

نظر شخص بنده : روش اول بهتر است زیرا وابسته به نوع دیتابیس نیست اما در روش دوم شما محدود به نوع خاصی از RDBMS هستید.

سوالات مشابه

0 امتیاز
4 پاسخ 1.5هزار بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط ali-nb (10 امتیاز)
+2 امتیاز
1 پاسخ 893 بازدید
0 امتیاز
1 پاسخ 649 بازدید
+1 امتیاز
1 پاسخ 731 بازدید
+1 امتیاز
1 پاسخ 456 بازدید
...