ActiveJDBC 为什么要做 instrumentation?

华宰 发布于 2011/07/26 16:32
阅读 1K+
收藏 0
看了红薯介绍的 ActiveJDBC ,试验了一下,这个 Instrumentation 比较烦,为什么要做这个呢?
加载中
0
红薯
红薯

在 ActiveJDBC 官方文档中专门有这么一节来介绍 Instrumentation 这个东西。

你看这样的代码:

List<Person> retirees = Person.where("age >= ?", 65);

直接调用 Person 类的静态方法,如果是普通的 Java 代码 where 方法是无法得知当前使用的哪个类的,因此就有了 Intrumentation。

清凌渡
清凌渡
怎样instrumentation ??
0
穿越星辰
穿越星辰

这个的确是很烦,其实没有必要非得POJO.静态()。可以这样:ActiveRecord.find(Person.class,"age >=?",65);

也挺简洁的。

自己可以参考Model实现一个ActiveRecord

0
红薯
红薯

引用来自“穿越星辰”的答案

这个的确是很烦,其实没有必要非得POJO.静态()。可以这样:ActiveRecord.find(Person.class,"age >=?",65);

也挺简洁的。

自己可以参考Model实现一个ActiveRecord

这是 Java 语言本身的限制导致,老实说 Person.find("age >=?",65") 代码更优雅一些
0
穿越星辰
穿越星辰

引用来自“红薯”的答案

引用来自“穿越星辰”的答案

这个的确是很烦,其实没有必要非得POJO.静态()。可以这样:ActiveRecord.find(Person.class,"age >=?",65);

也挺简洁的。

自己可以参考Model实现一个ActiveRecord

这是 Java 语言本身的限制导致,老实说 Person.find("age >=?",65") 代码更优雅一些

嗯,是的。静态方法属于类的,根本无法得到子类的名称。

还可以自己实现一个ClassLoader,来加载Model,加载之前去进行字节码增强,岂不是要稍微好一些?

0
arden
arden
期待支持连接池的功能~
返回顶部
顶部