Я разрабатываю webapp с Play! Рамки (1.2.4). Я модуль CRUD импорта успешно, и подключен MySQL DB с JDBC.I've создали модель, как это:CRUD модуль Play! 1.2.4
@Entity
public class MyEntity extends Model {
@Id
@GeneratedValue (strategy=GenerationType.IDENTITY)
public int id;
public String name;
public String phone;
public String web;
public String address;
public MyEntity (String name, String phone, String web, String address) {
this.name=name;
this.phone=phone;
this.web=web;
this.address=address;
}
}
В localhost:9000/admin
, в администрации панели CRUD по умолчанию, я пытаюсь добавить новый объект MyEntity , не работает:
PersistenceException occured : org.hibernate.exception.GenericJDBCException: could not insert: [models.MyEntity]
LogFail: object.save() (around line 152)
В моей БД MySQL у меня есть таблица под названием MyEntity с 5 полями:
id INT (PK, NotNull, AUTO_INCREMENT);
name VARCHAR;
phone INT;
web VARCHAR;
address VARCHAR
не знаю, почему это не работает. Я знаю, что JPA использует поле autogenerated id, но я хочу, чтобы этот автогенерированный идентификатор был полем идентификатора MyEntity.
Log сказал:
[...]Caused by: java.sql.SQLException: Field 'id' doesn't have a default value.
Любая идея по этому поводу?
Да, после многих испытаний и поисков, теперь его исправлено. '@Entity общественного класса MyEntity расширяет GenericModel { @Id @GeneratedValue (стратегия = GenerationType.AUTO) общественности Long идентификатор;' – puagh77