Buenas,estava fazendo umas brincadeiras e me deparei com uma dúvida,sabendo que utilizando ,meu codigo erá para auto incrementar ,se eu for imprimir no banco blz ta fazendo essa função ,entretanto quando eu vou usar o delete eu preciso settar o id pra fazer a operação mas se meu banco está auto incrementando por que preciso fazer isso ?
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
Como queria utilizar o Delete
public static void main(String[] args) {
Categoria cat2 = new Categoria("Viajem", "nao to afim de escrever hehe");
CategoriaRN catRN = new CategoriaRN();
catRN.deletar(cat2.getId());
}
ERRO:
Exception in thread "main" java.lang.IllegalArgumentException: id to load is required for loading
at org.hibernate.event.spi.LoadEvent.<init>(LoadEvent.java:93)
at org.hibernate.event.spi.LoadEvent.<init>(LoadEvent.java:63)
at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.doLoad(SessionImpl.java:2800)
at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.load(SessionImpl.java:2777)
at org.hibernate.internal.SessionImpl.find(SessionImpl.java:3406)
at org.hibernate.internal.SessionImpl.find(SessionImpl.java:3370)
at sistemavendas.rn.CategoriaRN.deletar(CategoriaRN.java:60)
at sistemavendas.TesteCategoria.main(TesteCategoria.java:11)
Como tenho que utilizar para o comando funcionar :
public static void main(String[] args) {
Categoria cat2 = new Categoria("Viajem", "nao to afim de escrever hehe");
CategoriaRN catRN = new CategoriaRN();
cat2.setId(1);
catRN.deletar(cat2.getId());
}
Desde já grato a atenção,boa tarde