Pro mysql
Doporučil bych vám následující:
U vašeho stolu messages
v poli id
přidat deklaraci auto_increment
:
create table messages(
...
id int not null auto_increment,
...
primary key (id)
)
Při použití deklarace entity
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
Toto mluví s JPA pomocí funkce automatického přírůstku MySQL
Pokud to nelze použít (například můžete chtít vytvořit související jinou entitu ve stejné transakci), použijte strategii TABLE (další podrobnosti viz http://www.objectdb.com/java/jpa/entity/generated )