سؤال

أنا أعمل حاليًا على ترحيل النظام (من Hibernate 3.2.2.ga مع JPA1 إلى Hibernate 3.6 مع JPA2. الهجرة نفسها بسيطة للغاية ، لا توجد تحديثات رئيسية للقيام بها (في الواقع ، لا أعتقد أن هناك أي على الإطلاق).

المشكلة التي أواجهها هي أن السبات يلقي استثناءً في وقت التشغيل ، ويشتكي من التعليقات التوضيحية @. stacktrace هو ما يلي:

Caused by: java.lang.UnsupportedOperationException: any not supported yet
    at org.hibernate.ejb.metamodel.AttributeFactory.determineAttributeMetadata(AttributeFactory.java:452)
    at org.hibernate.ejb.metamodel.AttributeFactory.buildAttribute(AttributeFactory.java:93)
    at org.hibernate.ejb.metamodel.MetadataContext.wrapUp(MetadataContext.java:183)
    at org.hibernate.ejb.metamodel.MetamodelImpl.buildMetamodel(MetamodelImpl.java:66)
    at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:84)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:902)
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:74)
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225)

وهذا يعني أن any أو manytoany لم يعد مدعومًا من قبل السبات. هذا أمر غريب لأن الوثائق (من 3.3 إلى 3.6) تذكر كيفية استخدام التعليق التوضيحي @AFAIK لا توجد نسخة سبات التي تنخفض هذا التعليق.

لقد راجعت Hibernate 3.5 Code Source Code وتسجيل التعليق التوضيحي @Mane أيضًا ، لذلك يلقي أيضًا نفس الاستثناء.

هل لديك أي حلول لهذه القضية؟

شكر كثيرا!

هل كانت مفيدة؟

المحلول

هل من فضلك حاول إضافة هذا إلى خصائص السبات الخاصة بك:

hibernate.ejb.metamodel.generation=disabled

هذا من شأنه تعطيل جيل metamodel ، وتجنب الاستثناء الذي تراه. (قيمة خاصية تحرير ليقول "معطل" كما هو موضح في التعليقات)

نصائح أخرى

أو ، إذا كنت لا تستخدم hibernate.properties ، أضف <property name="hibernate.ejb.metamodel.generation" value="disabled" /> إلى ثباتك. xml

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top