Tengo un proyecto GAE escrito en Java y tengo algunas ideas sobre el HRD y un problema que no estoy seguro de cómo resolverlo.Google App Engine consulta HRD sin antecesor
Básicamente tengo usuarios en mi sistema. Un usuario consiste en un ID de usuario, un nombre de usuario, un correo electrónico y una contraseña. Cada vez que creo un nuevo usuario, quiero verificar que no haya un usuario con el mismo ID de usuario (nunca debería haberlo), nombre de usuario o correo electrónico.
El ID de usuario es la clave, por lo que creo que hacer una con esto será consistente. Sin embargo, cuando realizo una consulta (y utilizo un filtro) para encontrar posibles usuarios con el mismo nombre de usuario o correo electrónico, no puedo estar seguro de que los resultados sean consistentes. Entonces, si alguien creó un usuario con el mismo nombre de usuario o correo electrónico hace un par de segundos, es posible que no lo encuentre con mi consulta. Entiendo que los antepasados se utilizan para solucionar este problema, pero ¿qué sucede si no tengo un antepasado para utilizar para la consulta? El usuario no tiene un padre.
Estaría encantado de escuchar sus pensamientos sobre esto, y lo que se considera la mejor práctica en situaciones como estas. Estoy usando Objectify para GAE si eso cambia algo.
me hizo una pregunta que puede resultar muy útil. (http://stackoverflow.com/questions/6584435/how-can-i-create-two-unique-queria-fields-for-a-gae-datastore-data-model) Yo también necesitaba almacenar información única para mis usuarios. En mi caso, necesitaba almacenar tanto un correo electrónico único como una identificación de usuario única por usuario. Esto es un poco difícil con el HRD, pero llegué a una solución confiable. ... cont ... – RLH
El único problema con mi situación es que la implementación de mi creación de cuenta (ver mi respuesta) no se escalará bien. Eso estuvo bien en mi circunstancia porque mi aplicación GAE es muy pequeña y tiene un flujo lento de nuevos usuarios (1 o 2 por mes). Además, esta información está en Python, pero el código es simple-- usted debería ser capaz de re -traducirlo a Java con relativa facilidad. – RLH
@RLH Gracias por su aporte, siempre es interesante ver diferentes soluciones, pero no creo que su solución funcione bien en mi caso. – Joel