PDA

View Full Version : نحوه ایجاد sequence field عادی در hibernate



s-java
شنبه 19 فروردین 1391, 20:03 عصر
سلام به همگی
من چطوری می تونم یه sequence field عادی تو hibernate ایجاد کنم طوری که با ایجاد هر رکورد مقدارش افزایش پیدا کنه
البته این فیلد غیر از فیلد id میخوام باشه

:لبخند:

s-java
یک شنبه 20 فروردین 1391, 14:33 عصر
اساتید محترم جاوا کسی عنایتی به سوال ما نمی کنه :افسرده:

phoenix87
یک شنبه 20 فروردین 1391, 15:50 عصر
کلید اصلی رو میشه از نوعی که گفتین انتخاب کرد به شرطی که دیتابیس seqence رو حمایت کنه مقدارش رو هم خودش اختصاص میده اما فیلد عادی رو امتحان نکردم

s-java
یک شنبه 20 فروردین 1391, 19:07 عصر
کلید اصلی رو میشه از نوعی که گفتین انتخاب کرد به شرطی که دیتابیس seqence رو حمایت کنه مقدارش رو هم خودش اختصاص میده اما فیلد عادی رو امتحان نکردم
برای فیلد از نوع id کار می کنه ولی برای فیلد عادی نه
اما یه راه حلی که به ذهنم میرسه اینکه قبل از درج رکورد جدید یه selectی از تعداد رکوردهای ایجاد شده قبلی رو بگیرم بعد تعداد اونا +1 و در فیلد مربوط به شمارنده ذخیره کنم ولی اینجام مشکلی که ممکنه به وجود بیاد اینه که درحین اجرای دستور select همان لحظه دستور insert توسط کاربر دیگه اجرا بشه بنابراین نتیجه اشتباه بهم بده

به نظرتون میشه از این کار جلوگیری کرد ؟
باعث کاهش کارایی دیتا بیس نمیشه ؟
:متفکر:

phoenix87
دوشنبه 21 فروردین 1391, 16:38 عصر
شما باید افزایش مقدار رو بسپاریب به دیتابیس با استافاده از تریگر یا sequence بعدش اون فیلد ها رو توی هایبرنیت مقدار insert و update رو false کنید تا کسی تنونه مقداری بهش بده