Olá pessoal… to ressussitando esse topico qui pois tenho um erro muito parecido… mas acho q ele devia estar na sessao de Persistência e Banco de Dados
a msg de erro é a seguinte :
Nov 28, 2009 10:48:46 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet vraptor2 threw exception
java.sql.BatchUpdateException: Duplicate entry ‘4’ for key ‘productList_id’
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1666)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1082)
dei uma pesquisaa na net e vi q o 4 corresponde a INT… no caso do amiguinho acima, o 1 corresponde a TINYINT… se bem q ele ta usando oracle a tebela q achei disso acho q era pra mySQL…
olha a tabela:
Type Bytes Minimum Value Maximum Value
(Signed/Unsigned) (Signed/Unsigned)
TINYINT 1 -128 127
0 255
SMALLINT 2 - 32768 32767
0 65535
MEDIUMINT 3 -8388608 8388607
0 16777215
INT 4 -2147483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615
ela ta bonitinha nesse link aqui : http://arunma.com/2007/03/15/duplicate-entry-xxx-for-key-xxx-mysql-and-hibernate/
dai o cara fala q é algo de errado com a forma como eu declarei o meu auto increment… q o valor nao ta sendo suportado…
Essa tabela foi gerada automaticamente pelo hibernate, depois que eu fiz um relacionamento…
Ele gerou a tabela sem nenhum auto-increment… eu pesquisei como criava um campo assim e pus lá… mas o erro persistiu…
estou fazendo um ecommerce usando VRaptor 2 e hibernate… seguindo a apostila da caelum como base…
Se for ajudar, posso postar o relacionamento q eu fiz mais ou menos… mas ja segue como q meu GeraBanco criou essa tabela extra :
create table Purchase_Product (
Purchase_id bigint not null,
productList_id bigint not null,
unique (productList_id)
)
e depois p alter :
alter table Purchase_Product
add index FK472C3B1F5B4735B (Purchase_id),
add constraint FK472C3B1F5B4735B
foreign key (Purchase_id)
references Purchase (id)
quando deu o erro, tentei dar mais esse comando na tabela :
ALTER TABLE purchase_product ADD id bigint not null auto_increment key;
como disse, o erro persistiu…
Obrigado e abraço a todos