Me gustaría usar UUID en lugar de la identificación regular en mis modelos.UUID con Play Framework
¿Se puede hacer esto con el marco de juego?
Me gustaría usar UUID en lugar de la identificación regular en mis modelos.UUID con Play Framework
¿Se puede hacer esto con el marco de juego?
Primero no extienda (play.db.jpa.Model) Modelo en el modelo que desea generar el Id pero use GenericModel.
entonces podría usar la clase auxiliar que llamó cuando se creó el objeto (en el constructor).
o llamar a la clase de ayuda cuando se guarda (por lo tanto tengo que crear DAO envoltorio, el proceso de almacenamiento se haya hecho en DAO envoltorio no en el objeto de modo que pudiera generar Identificación del guardar el objeto)
o si quiere un enfoque más simple use el UPA de JPA. Vea el código a continuación.
@Entity
public class User extends GenericModel {
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
public String id;
}
Bueno, la clase Model es solo una subclase de GenericModel que agrega el atributo, los métodos y las anotaciones para proporcionar un Long generado como la propiedad @Id para sus clases de modelo.
Si no lo desea, puede crear una subclase de GenericModel en su lugar y proporcionar su propia @Id. En su caso, eso sería una Cadena para contener el UUID. Sin embargo, tendrá que idear una estrategia para inicializarlo en instancias de modelos nuevos.
No conozco una estrategia incorporada proporcionada por JPA para generar UUID. Un método simple sería tener una clase auxiliar a la que pueda llamar un método para obtener un nuevo UUID y asegurarse de llamarlo cada vez que cree un nuevo modelo.
GenericModel: is not it a anti pattern? por favor vea: http://en.wikipedia.org/wiki/BaseBean – Kowser
vea el comentario en la wiki y la neutralidad de la wiki que dice "La neutralidad de este artículo está en disputa", llamado este antipatrón en inapropiado. – indrap
sí, ya veo. Necesita estudiar más para aclarar el problema. – Kowser