2011-11-02 8 views
5

Tengo el siguiente entidad:Persistencia Excepción utilizando pojo de unión en el controlador marco juego

@Entity 
public class Client extends Model{ 
    public String email; 
    public String password; 
} 

Tengo el siguiente controlador:

public static void clientSignUp(models.Client client) 
{ 
    info("Client email" + client.email); 
    info("Client password" + client.password); 
    client.create(); 
} 

Cuando este controlador se llama, los dos troncos imprimir correctamente. Pero los errores de línea client.create con esta excepción de hibernación:

PersistenceException occured : org.hibernate.PropertyAccessException: 
    could not get a field value by reflection getter of models.Client.email 

Sin embargo, cuando cambio el código ligeramente para:

public static void clientSignUp(models.Client client) 
    { 
    models.Client client2 = new Client(); 
    client2.email= client.email; 
    client2.password = client.password; 
    client2.create(); 
    } 

funciona. ¿Alguna idea de por qué?

Respuesta

0

¿Qué sucede si cambia client.create(); en su primera versión a client.save();?

0

Creo que hay un error aquí. Resolví un problema similar (recibí la misma excepción, en mi caso: usuario.email) llamando a .merge() en lugar de .save()

Después puedo eliminar merge() y usar save(), que es bastante extraño (incluso después de un reinicio del servidor). Algo debe estar en caché.

Así que trate client.merge()

2

que puede haber ser unos pocos meses de retraso para responder a esto, pero me encontré con un problema similar y fue capaz de solucionarlo. Para obtener el contexto correcto, aquí estaba mi entorno:

  1. Estaba inicializando una instancia de modelo en un Bootstrap Job.
  2. que era en modo DEV, por lo tanto, se utiliza una base de datos en memoria (db=mem)

Probé todas las opciones anteriores (.create(), .save(), .merge()) - Nada de eso funcionó para mí. Tampoco reinició una aplicación.

Finalmente, ¿cuál fue el truco para limpiar el directorio /tmp y reiniciar la aplicación?

Cuestiones relacionadas