玩!框架 - 将 MySQL 和 MongoDB 用于同一应用程序
是否可以使用 Play! 为同一项目使用 MySQL 数据库
和 MongoDb
数据库?框架?
例如: 我想要
@Entity Person to interact with my MySQL database and
@Entity PersonData to interact with my MongoDB database?
我怎样才能做到这一点?
请告诉我
谢谢
Is it possible to user MySQL Database
and MongoDb
database for same project using Play! framework?
for example:
I want
@Entity Person to interact with my MySQL database and
@Entity PersonData to interact with my MongoDB database?
How can I do that?
Please let me know
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,这是可能的。只需使用 Morphia 插件即可玩。我以前做过。这很简单。
对于 MongoDB 模型,只需执行以下操作:
对于 MySQL 模型,执行以下操作:
注意不同的导入。
那么 application.conf 文件应该包含如下内容:
Yes, it is possible. Just use the Morphia plugin for Play. I have done it before. It is quite simple.
For the MongoDB models, just do something like this:
For the MySQL model, do this:
Notice the different imports.
Then the application.conf file should contains something like this:
在 MySQL 实体上扩展模型并添加 JPA 注释(@Entity)。
对于 Mongo,您需要使用第三方模块,例如:
http://www.playframework.org/modules/mongo-1.3/home
示例:
@MongoEntity("collectionName")
public class Car extends MongoModel {
}
Play 的 JPA 插件不会修改 Mongo 类,因为它没有 JPA @Entity 注释。
对于任何感兴趣的人,请查看 Play 的 JPAEnhancer。它使用 javaassist 修改字节码并添加所有方法实现 - 非常酷!
On the MySQL entity extend Model and add the JPA annotation (@Entity).
For Mongo you need to use a third-party module such as this one:
http://www.playframework.org/modules/mongo-1.3/home
Example:
@MongoEntity("collectionName")
public class Car extends MongoModel {
}
Play's JPA plugin will not modify the Mongo class since it won't have the JPA @Entity annotation.
For anyone out there interested, checkout Play's JPAEnhancer. It uses javaassist to modify the bytecode and add all the method impls - very cool!