Respuesta

5

Sí, es posible. Solo usa el plugin Morphia para jugar. Lo he hecho antes. Es bastante simple.

Para los modelos de MongoDB, acaba de hacer algo como esto:

import play.modules.morphia.Model; 

@Entity 
public class YourMongoModel extends Model { 
    ... 
} 

Para el modelo de MySQL, haga lo siguiente:

import play.db.jpa.Model; 

@Entity 
public class LogMessageX extends Model { 
    ... 
} 

Aviso las diferentes importaciones.

A continuación, el archivo application.conf debería contener algo como esto:

# For MongoDB 
morphia.db.host=localhost 
morphia.db.port=27017 
morphia.db.name=YourMongoDBName 

# for MySQL 
db=mysql:user:[email protected]_name 
+1

Una nota especial sobre la anotación @Entity, la misma que utilizó para anotar la clase del modelo APP debe ser de importación como 'javax.persistence' y el modelo de Morphia debe ser 'com.google.code.morphia.annotations.Entity' –

+0

@green buen punto – Ryan

+0

¿Qué hay de Jongo? ¿Puedo usar @MongoEntity con él? – JhovaniC

2

En la entidad MySQL extender modelo y añadir la anotación JPA (@Entity).

Para Mongo es necesario utilizar un módulo de terceros como este: http://www.playframework.org/modules/mongo-1.3/home

Ejemplo:

@MongoEntity ("collectionName") se extiende

public class Car {MongoModel

public String name; 
public String colour; 
public int topSpeed; 

}

El complemento JPA de Play no modificará la clase Mongo ya que no tendrá la anotación JPA @Entity.

Para cualquiera que esté interesado, checkout Play's JPAEnhancer. Utiliza javaassist para modificar el bytecode y agregar todas las impls del método, ¡muy genial!

Cuestiones relacionadas