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

درحین کار با پروژه ی ایجاد شده با وایز، هنگام عملیات crud برای برخی جداول به خطای فوق برمیخورد که در استفاده از h2 ندارد ومحدودیت کراکتر را 30 کارکتر در نظر میگیرد، برای حل این مشکل یا تغییر سیسست های mapping در jpa که نامگذاری را کمتر از 30 کاراکتر انجام دهد راهی وجود  دارد؟

1 پاسخ

0 امتیاز
قبل توسط (157 امتیاز)
منشأ این مساله محدودیتی است که اراکل بر روی طول شناسه ها (نام جداول، ستون ها، ...) گذاشته است. بنابراین بایستی در نام گذاری جداول و ستون ها در annotation های jpa این محدودیت را در نظر گرفت. اگر نام ستون ها و جداول به صراحت تعیین نشوند، مقدار آن ها از روی نام فیلدها و کلاس ها استنتاج می شود که طولانی بودن نام آن ها می تواند منجر به نقض محدودیت فوق شود. احتمال این رخداد در روابط چند به چند بیشتر از سایر موارد است؛ چرا که در صورت عدم تعیین صریح نام جدول میانی، نام آن براساس به هم چسبانیدن نام دو طرف مشخص می شود.

مقداردهی همه برچسب (tag) های مربوط به اسامی در مدل ورودی وایز می تواند تا حد خوبی موجب رعایت این محدودیت گردد.
قبل توسط (157 امتیاز)
لطفا نگاهی به به لینک زیر بیاندازید. احتمالاً همان چیزی است که شما به دنبال آن هستید.
https://stackoverflow.com/questions/30577953/hibernate-generates-too-long-identifiers-for-oracle?rq=1&utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
قبل توسط (89 امتیاز)
+1
درود و ممنون از شما

با استفاده  از لینک ارسالی شما و توضیحات HIBERNATE،  کلاس PhysicalNamingStrategy و ImplicitNamingStrategy  را implement و در فایل config معرفی کردم اما هیچ تغییری ایجاد نشد

hibernate.physical_naming_strateg = ir.iasco.sale.requestmanagement.dao.ImprovedNamingStrategy
hibernate.implicit_naming_strategy=ir.iasco.sale.requestmanagement.dao.ImprovedImplicitNamingStrategy;

 و این هم امتحان کردم:
spring.jpa.hibernate.naming.physical_naming_strateg = ir.iasco.sale.requestmanagement.dao.ImprovedNamingStrategy
spring.jpa.hibernate.naming.implicit_naming_strategy=ir.iasco.sale.requestmanagement.dao.ImprovedImplicitNamingStrategy;

اما بنظر مییاد سیستم متوجه نمیشود .به جز مواردی که فرمودید  به این که محدود کنیم identifier  را نیاز داریم.

لطف میفرمایی راهنمایی کنید.
باتشکر

سوالات مشابه

0 امتیاز
1 پاسخ 288 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط gatity (139 امتیاز)
+1 امتیاز
1 پاسخ 288 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط gatity (139 امتیاز)
+2 امتیاز
1 پاسخ 538 بازدید
0 امتیاز
1 پاسخ 258 بازدید
+1 امتیاز
1 پاسخ 211 بازدید
+1 امتیاز
1 پاسخ 408 بازدید
+1 امتیاز
1 پاسخ 473 بازدید
0 امتیاز
1 پاسخ 353 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط nirvana (89 امتیاز)
+1 امتیاز
1 پاسخ 448 بازدید
+1 امتیاز
1 پاسخ 312 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط Saeed Mirshams (186 امتیاز)
...