Как аннотировать поле автоинкремента MYSQL с помощью аннотаций JPA

Сразу проблема заключается в сохранении объекта Operator в MySQL DB. Перед сохранением я пытаюсь выбрать из этой таблицы, и она работает, как и подключение к базе данных.

Вот мой объект Operator:

@Entity
public class Operator{

   @Id
   @GeneratedValue
   private Long id;

   private String username;

   private String password;


   private Integer active;

   //Getters and setters...
}

Для сохранения я использую JPA EntityManager метод persist .

Вот какой-то журнал:

Hibernate: insert into Operator (active, password, username, id) values (?, ?, ?, ?)
com.mysql.jdbc.JDBC4PreparedStatement@15724a0: insert into Operator (active,password, username, id) values (0, 'pass', 'user', ** NOT SPECIFIED **)

Насколько я понимаю, проблема заключается в настройке с автоматическим приращением, но я не могу понять, где.

Попробовал некоторые трюки, которые я видел здесь: Гибернация не учитывает поле первичного ключа MySQL auto_increment Но ничего из этого не сработало

Если потребуются другие файлы конфигурации, я предоставлю их.

DDL:

CREATE TABLE `operator` ( 
`id` INT(10) NOT NULL AUTO_INCREMENT,
`first_name` VARCHAR(40) NOT NULL,
`last_name` VARCHAR(40) NOT NULL,
`username` VARCHAR(50) NOT NULL,
`password` VARCHAR(50) NOT NULL,
`active` INT(1) NOT NULL,
PRIMARY KEY (`id`)
)

98
задан Community 23 May 2017 в 12:18
поделиться