Java 弹簧&x2B;少年警讯:";扩展;从配置加载时的实体类

Java 弹簧&x2B;少年警讯:";扩展;从配置加载时的实体类,java,jpa,entity,javassist,Java,Jpa,Entity,Javassist,在我的小项目中,我有3个实体类。这些类应由最终用户通过配置(例如,基于人类可读的文本,可能是xml)进行“扩展”。对于extendable,我的意思是向它们添加字段和适当的JPA注释(包括@ManyToOne之类的内容),这样生成的类就是一个“普通”实体类 由于使用了hibernate和spring,我已经非常奇怪地听说了javassist、cglib和Aspectj。但是,哪一个适合使用?这对spring有效吗?我的意思是当应用程序启动时,它必须 从配置创建实体 开始spring上下文 使弹簧

在我的小项目中,我有3个实体类。这些类应由最终用户通过配置(例如,基于人类可读的文本,可能是xml)进行“扩展”。对于extendable,我的意思是向它们添加字段和适当的JPA注释(包括@ManyToOne之类的内容),这样生成的类就是一个“普通”实体类

由于使用了hibernate和spring,我已经非常奇怪地听说了javassist、cglib和Aspectj。但是,哪一个适合使用?这对spring有效吗?我的意思是当应用程序启动时,它必须

  • 从配置创建实体
  • 开始spring上下文
  • 使弹簧“扫描”它们(packagesToScan)或

  • 我进一步的问题是,是否已经有某种库/工具包括读取配置文件并从中创建实体?

    您是在考虑代码生成还是动态创建实体对象?或者。但是,在简要了解了javassist文档和在应用程序容器中动态创建类的潜在问题之后,我认为代码生成会容易得多。我需要的是一些工具来向现有实体添加字段和注释(通过扩展它),并且该工具必须是管理员可以使用的,例如,不是开发人员(然后他可以在代码中扩展它)。字节码生成的缺点是,如果基础实体在更新中发生更改,它将不得不重复执行?@初学者:从您的上一条评论中,我想说的是,您想要的是一个由现有类引导的模型,非开发人员用户可以在其中插入字段并标记其他字段(通过标记读取注释)。有了这个模型,您就可以使用一个生成框架生成类,也许您应该仔细研究一下eclipse的EMF,它在eclipse之外还能工作吗?这比我想要的要复杂一些。