+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 پاسخ 442 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط gatity (139 امتیاز)
+1 امتیاز
1 پاسخ 409 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط gatity (139 امتیاز)
+2 امتیاز
1 پاسخ 756 بازدید
0 امتیاز
1 پاسخ 312 بازدید
+1 امتیاز
1 پاسخ 835 بازدید
+1 امتیاز
1 پاسخ 490 بازدید
+1 امتیاز
1 پاسخ 603 بازدید
0 امتیاز
1 پاسخ 500 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط nirvana (89 امتیاز)
+1 امتیاز
1 پاسخ 617 بازدید
+1 امتیاز
1 پاسخ 437 بازدید
سوال شده 6 سال قبل در برنامه نویسی توسط Saeed Mirshams (186 امتیاز)
...