使用ActiveJDBC玩框架

时间:2011-03-08 20:31:12

标签: playframework instrumentation activejdbc

我打算将Play web框架与AciveJDBC一起用于持久化。活动JDBC的问题是它需要检测。我的问题是,

我是否需要在服务器上重新启动以查看对需要检测的类所做的更改?

2 个答案:

答案 0 :(得分:3)

joshua:这从未尝试过,但答案是否定的,您必须重新启动服务器才能在模型中进行更改才能生效。但是,如果您练习真正的TDD并编写完全测试模型的测试,则不必重新启动。

To Pere Villega:你的答案是真的,而Hibernate确实是一个流行的框架,但它“是一个伟大的工具”是一个意见问题,恕我直言,它不是,因此我开发了ActiveJDBC。

一个小事实:2009年的ActiveJDBC原始版本在应用程序启动后在内存中实时启动了仪器,这很棒,但由于某些容器的类加载器行为,这已被证明是不可靠的。

此外,我开发了类似于Ruby on Rails的Java Web框架:http://code.google.com/p/activeweb/,它与ActiveJDBC集成。目前它将重新编译/重新加载控制器,但不会重新编译/仪器模型。但是,我计划将来在框架中引入这种功能。

欢呼声,

伊戈尔

答案 1 :(得分:1)

作为免责声明,我从未尝试过你所说的话。但是根据我对Play工作原理的了解,这将取决于您将ActiveJDBC与Play集成。

据我所知,该集成没有现有模块。这意味着你需要创建一些东西来插入你的模型(基于ActiveJDBC)与Play模型。与Siena插件的功能类似,例如。

完成后,没有额外的更改Play只会使用Eclipse编译器重新编译Java类,但它不会生成任何检测。要使该工具发生,您可能需要调整重新编译过程,以便生成检测。

所以,简短回答,默认情况下,检测工作无效。

一个与此有关的问题:你真的需要ActiveJDBC吗? JPA / Hibernate(Play中的默认值)不会提供什么?我理解“活跃记录”的吸引力 行为,但即使在Ruby社区,也有一些抱怨它的“魔力”。你确定JPA不够好吗?使用它可以节省您在使用Play时的时间和麻烦,并且Hibernate是一个大团队和开发ORM的经验,这使它成为一个很棒的工具......