Я бин сущности, которая имеет поле идентификатор Int объявлен как GenerationType.AUTO так, что идентификатор генерируется автоматически:JPA GenerationType.AUTO и установки поля вручную
@Entity
public class CustomerPool implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
//setters getters
}
мне нужно, однако, чтобы сделать убедитесь, что у первого вставленного идентификатора CustomerPool есть идентификатор 0.
Я думал, что установка CustomerPool с идентификатором 0 имела бы приоритет над директивой, вместо этого у меня было другое поведение (с использованием JPA над EclipseLink), но в основном ID, который я установил, игнорируется.
. Можно ли установить идентификатор, который автоматически сгенерирован, если не указано иное, чтобы использовать указанный идентификатор, если это указано? Как-то я привык делать это на PHP и казался для меня довольно естественным поведением.
'GenerationType.AUTO' говорит:«Я не» t заботиться о том, как генерируются значения! ' Следовательно, вам действительно все равно, это детализация вашего поставщика JPA и используемой СУБД. Если вам интересно, вы должны рассмотреть другие методы генерации или самостоятельно управлять поколением. – gregor