我的游戏框架配置有一个问题,当我插入一个新的时,Notification
我收到了错误。我不知道为什么会出现这个错误。因为我扩展Model
了类,所以 Play 必须为每一行生成一个新 ID。
如果你能告诉我问题是什么,或者其他更好的方法来做到这一点,也许如果我扩展了GenericModel
并且我做的代码是这样评论的:
// @Id
// @GeneratedValue(strategy = GenerationType.AUTO)
// public long id;
但如果我这样做,我必须如何插入新行?
非常感谢!!!!
发现错误:
发生 PersistenceException :
org.hibernate.HibernateException
: 数据库没有返回本地生成的标识值
这是/app/controllers/WSConfiguracion.java
:
if (cliente.valorBateria < filasConfiguracionClientes.get(i).limiteBateria) {
if (!estadoNotificacion.hayNotiBateria) {
// code below generated the error
Notificacion notificacion = new Notificacion(
filasConfiguracionClientes.get(i).imeiadmin,imei, "bateria baja"
).save();
estadoNotificacion.hayNotiBateria = true;
//notificacion.save();
estadoNotificacion.save();
renderText("NOTIFICA BATERIA");
}
} else {
...
}
这是我的模型。
package models;
import javax.persistence.Entity;
import play.db.jpa.Model;
@Entity
public class Notificacion extends Model {
//@Id
//@GeneratedValue(strategy = GenerationType.AUTO)
//public long id;
//@Id
public long imeiadmin;
//@Id
public long imeiclient;
public String detalleNotificacion;
public Notificacion(long imeiadmin, long imeiclient,String detalleNotificacion) {
this.imeiadmin = imeiadmin;
this.imeiclient = imeiclient;
this.detalleNotificacion = detalleNotificacion;
}
}