首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

运行时动态批改注解

2012-09-25 
运行时动态修改注解????? 由于当前项目采用了分表策略,故一个实体会对应多个相同结构的表。只是映射的表名

运行时动态修改注解

????? 由于当前项目采用了分表策略,故一个实体会对应多个相同结构的表。只是映射的表名不一样而已~项目又使用憨包儿呢特,让我采用原生SQL总感觉不是那么爽,咋办呢?!第一念头就是如果能够动态映射就好啦,也就是现在想查table1只需将实体对应的table映射为table1即可。咋个实现动态映射呢?!也就是需要动态改变类的注解。又咋个能够动态改变类的注解呢?!本质上修改字节码,重新加载类即可,也就是所谓的字节码增强功能~? 看都看不懂字节码咋个修改呢?!还是需要站在巨人的肩上才行。ASM以及JDK自带的字节码增强都不用,马上想到CGlib,javassist。。。还是痛苦的折腾了良久,为了大家不走我的弯路~ 直接上代码先~

?

?

?? 执行结果:

?

写道增强前Entity01:@javax.persistence.Entity
增强前Table02:null
增强后Entity001:@javax.persistence.Entity
增强后Table002:@javax.persistence.Table(name="order1")
增强后toClass-Entity0001:@javax.persistence.Entity(name=)
增强后toClass-Table0002:@javax.persistence.Table(schema=, catalog=, uniqueConstraints=[], name=order1)?

热点排行