+2 امتیاز
قبل در برنامه نویسی توسط (922 امتیاز)

در فایل های mapping در hibernate چگونه می توانم برای یک property مقدار پیش فرض بگذارم که در صورتی که فیلد متناظر مقدار نداشت آن مقدار پیش فرض در پایگاه داده ذخیره شود (مثل کلمه DEFAULT در دستورات تعریف جدول در sql)؟

این property را برای مثال ببینید:

<property name="amount" type="java.lang.Long" column="AMOUNT"/>

چه attribute به این تگ اضافه کنم که اگر amount مقدار نداشت عدد ۱ در پایگاه داده ذخیره بشه؟

ممنون.

1 پاسخ

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

کد خود را به این گونه تغییر دهید:

<property name="amount" type="java.lang.Long" not-null="true"
insert="false" update="false" >
<column name="AMOUNT" default="1"/>
</property>

 

قبل توسط (922 امتیاز)
با hbm2ddl که مشکلی ندارد. منظورم اینه که schema پایگاه داده که بصورت خودکار  تولید میشه ستون amount مقدار پیش فرض توی تعریفش دارد؟
قبل توسط (7.2هزار امتیاز)
منظور شما را دقیق متوجه نشدم.
اما تک تک خصوصیات هر ستون را می توان در تگ column تعریف کرد. که یکی از آنها default است، not-null , length , precision و ... سایر اتربیوتهای این تگ است که میتوان خصوصیات هر ستون در جدول پایگاه داده را با آن مشخص کرد.
قبل توسط (922 امتیاز)
منظورم اینه که وقتی پایگاه داده ندارم و می خام با استفاده از فایل های hbm بصورت خودکار اونو تولید کنم، پایگاه داده تولید شده توسط hibernate ستون های با مقدار پیش فرض رو هم اعمال می کنه؟
قبل توسط (7.2هزار امتیاز)
بله
هر چه در تگ column قرار داده باشید برای آن ستون اعمال می شود.
قبل توسط (1.1هزار امتیاز)
تگ property باید خصوصیات زیر را نیز داشته باشد:
<property name="amount" type="java.lang.Long" not-null="true"
insert="false" update="false" >

سوالات مشابه

0 امتیاز
1 پاسخ 375 بازدید
0 امتیاز
1 پاسخ 684 بازدید
+1 امتیاز
1 پاسخ 608 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط aminiS (479 امتیاز)
0 امتیاز
1 پاسخ 516 بازدید
+1 امتیاز
0 پاسخ 386 بازدید
0 امتیاز
2 پاسخ 795 بازدید
+1 امتیاز
0 پاسخ 407 بازدید
+5 امتیاز
1 پاسخ 4.4هزار بازدید
0 امتیاز
1 پاسخ 604 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط kashi (7.2هزار امتیاز)
...