Dla mysql
Polecam przestrzeganie:
Przy twoim stole messages
w polu id
dodaj deklarację auto_increment
:
create table messages(
...
id int not null auto_increment,
...
primary key (id)
)
Przy deklaracji podmiotu użyj
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
To mówi o użyciu JPA funkcji auto-inkrementacji MySQL
Jeśli nie ma to zastosowania (na przykład możesz chcieć utworzyć powiązany inny podmiot w tej samej transakcji) użyj strategii TABELA (więcej szczegółów znajdziesz w http://www.objectdb.com/java/jpa/entity/generated )