Luc*_*ira 7 java hibernate jpa hibernate-mapping
我正在进行系统迁移(从带有JPA1的hibernate 3.2.2.GA到带有JPA2的hibernate 3.6.迁移本身非常简单,没有重大更新要做(事实上,我认为没有任何一个).
我面临的问题是hibernate在运行时抛出异常,抱怨@Any注释.堆栈跟踪如下:
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)
Run Code Online (Sandbox Code Playgroud)
所以这意味着hibernate不再支持@Any或@ManyToAny.这很奇怪,因为文档(从3.3到3.6)提到了如何使用@Any注释和AFAIK,没有hibernate版本折旧这个注释.
我检查了hibernate 3.5源代码,@ Any注释检查也存在,所以它也抛出相同的异常.
你们有没有解决这个问题的方法?
非常感谢!
您可以尝试将其添加到您的Hibernate属性中:
hibernate.ejb.metamodel.generation=disabled
Run Code Online (Sandbox Code Playgroud)
这应该禁用元模型生成,避免您看到的异常.(编辑的属性值,如评论中指出的'禁用')
| 归档时间: |
|
| 查看次数: |
1553 次 |
| 最近记录: |