首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用proguard混淆JPA实体

使用proguard混淆JPA实体
EN

Stack Overflow用户
提问于 2012-04-17 17:20:33
回答 1查看 2.3K关注 0票数 1

在混淆之后,我得到了以下异常:

代码语言:javascript
复制
org.hibernate.AnnotationException: No identifier specified for entity: com.ad.ac.c.a
    at org.hibernate.cfg.InheritanceState.determineDefaultAccessType(InheritanceState.java:268)
    at org.hibernate.cfg.InheritanceState.getElementsToProcess(InheritanceState.java:223)
    at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:686)
    at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3977)
    at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3931)
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1368)
    at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1345)
    at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1477)
    at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:193)
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:1096)
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:278)
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:362)

我认为这是因为Proguard混淆了实体的getter和setter,并更改了属性名称。

EN

回答 1

Stack Overflow用户

发布于 2012-08-26 19:17:23

下面是JPA正常工作所需的proguard配置

代码语言:javascript
复制
-keepattributes RuntimeVisibleAnnotations
-keep @javax.persistence.* class * {
   *;
}

它将保持所有持久化注解类的清晰化,并且不会删除任何运行时注解。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10188500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档