有没有可能使用Play为同一项目使用MySQL Database和MongoDb数据库!框架?
例如:我想
@Entity Person to interact with my MySQL database and
@Entity PersonData to interact with my MongoDB database? 我该怎么做呢?
请让我知道
谢谢
发布于 2011-05-23 23:05:46
是的,这是可能的。只需使用Morphia插件即可。我以前也这么做过。这很简单。
对于MongoDB模型,只需执行以下操作:
import play.modules.morphia.Model;
@Entity
public class YourMongoModel extends Model {
...
}对于MySQL模型,请执行以下操作:
import play.db.jpa.Model;
@Entity
public class LogMessageX extends Model {
...
}注意不同的导入。
那么application.conf文件应该包含如下内容:
# For MongoDB
morphia.db.host=localhost
morphia.db.port=27017
morphia.db.name=YourMongoDBName
# for MySQL
db=mysql:user:pwd@database_name发布于 2011-05-23 09:18:04
在JPA上扩展模型并添加MySQL注解(@ entity )。
对于Mongo,您需要使用第三方模块,例如:http://www.playframework.org/modules/mongo-1.3/home
示例:
@MongoEntity("collectionName")
公共类Car扩展了MongoModel {
public String name;
public String colour;
public int topSpeed;}
Play的JPA插件不会修改Mongo类,因为它没有JPA @Entity注释。
对于任何感兴趣的人,请查看Play的JPAEnhancer。它使用javaassist修改字节码并添加所有的方法指令--非常酷!
https://stackoverflow.com/questions/6091869
复制相似问题