0

我正在尝试将 nosqlORM 连接到 play 1.2.5。目前,出现此问题是因为每次更改后 Class 文件实例都不同,因此 ORM 层会扫描所有 Class 文件并在启动时创建 Class to MetaClass Map 但后来,当使用某个类时,它是不同的 Class每次归档。

我在 playframework 中查看 JPAPlugin.java,但我看不到他们会在哪里重新扫描所有休眠实体的注释(hibernate 仅在启动时扫描注释并且不再查看它们,所以播放必须在做某事)。

有谁知道这是如何工作的?

更糟糕的是,当我处于“播放运行”模式时,它根本不会在播放文件中获取资源......(在调试模式下,它确实会获取类)......errr,更具体地说是 ClassLoader .getResources("nosql/Persistence.class"); 仅在调试模式下找到,但在“播放运行”模式下找不到。不过有趣的是,它会找到项目中其他 jar 中存在的实例。我可以将我的模型移动到一个罐子中,我猜它可以工作,但这有点痛苦,因为编辑和点击网络浏览器是一个非常好的功能。

谢谢,院长

4

1 回答 1

1

每次重新加载时,Play 都会调用 JPAPlugin.onApplicationStart。您可以在“onApplicationStart”上设置断点或将日志级别更改为:application.log=TRACE

你会看到那里重新加载了休眠。

您的模块应该在“onApplicationStart”中完成重新加载“nosqlORM”。

于 2013-02-04T17:11:14.773 回答