Exception in thread "main" javax.persistence.PersistenceException: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save()O Java quer que eu informe o Id. Por quê? Minha tabela usa sequences para gerar os Ids.
Depois de pesquisar, descobri que deve-se informar, por meio de uma GeneratedValue, como as chaves primárias serão geradas.
Como as minhas Ids são geradas automaticamente pelo banco de dados, eu tive que declarar a anotação dessa forma:
@GeneratedValue(strategy=GenerationType.IDENTITY)O código da minha classe, que gerava a exceção acima era desse jeito:
@Entitye agora está assim:
@Table(name = "authenticationlog", catalog = "mao", schema = "public")
public class AuthenticationLog implements Serializable {
@Id
@Column(name = "tansrvauthenticationlogid")
private Integer tansrvauthenticationlogid;
@EntityIsso resolveu o meu problema. Espero que resolva o teu.
@Table(name = "authenticationlog", catalog = "mao", schema = "public")
public class AuthenticationLog implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = "tansrvauthenticationlogid")
private Integer tansrvauthenticationlogid;
Nenhum comentário:
Postar um comentário