Hibernate - Constraint Violation

09/02/2010

0

Galera, estou desenvolvendo um site de classificados só que não estou conseguindo cadastrar uma categoria sem informar a categoria Pai da mesma.

a questão é que ele está acusando violação de foreign key e ainda por cima na tabela de classificado O.o?&63&63&63 como pode isso&63
Cannot add or update a child row&58; a foreign key constraint fails (`classificado`.`categoria`, CONSTRAINT `FK5D54E133D5480FAC` FOREIGN KEY (`categoria_id`) REFERENCES `categoria` (`id`))

Hibernate&58; insert into categoria (categoria_id, descricao, nome) values (&63, &63, &63) //log do hibernate
05/02/2010 08&58;47&58;01 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE&58; Servlet.service() for servlet struts threw exception
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException&58; Cannot add or update a child row&58; a foreign key constraint fails (`classificado`.`categoria`, CONSTRAINT `FK5D54E133D5480FAC` FOREIGN KEY (`categoria_id`) REFERENCES `categoria` (`id`))
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java&58;39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java&58;27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java&58;513)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java&58;406)
    at com.mysql.jdbc.Util.getInstance(Util.java&58;381)

    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java&58;3491)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java&58;3423)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java&58;1936)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java&58;2060)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java&58;2542)
    //... continuação da exception.. nada de importante depois daqui


sendo que não há violação, olhem o código:
@Entity
@Table(name = "categoria")
public class Categoria implements Serializable {

    @Id @GeneratedValue
    @Column(name = "id")
    private Integer id;
    
    @Column(name = "nome", length = 80, nullable = false)
    private String nome;
   
    @Column(name = "descricao", length = 150, nullable=true)
    private String descricao;
   
        // A questão é que tanto nessa parte quanto no banco essa foreign key pode ser null (categoria_id)
        // essa categoria representa a categoria pai dessa categoria
    @ManyToOne
    @JoinColumn(name = "categoria_id", nullable=true)
    private Categoria categoriaPai;
   
    @OneToMany(mappedBy = "categoriaPai", fetch = FetchType.EAGER)
    @Fetch(FetchMode.SUBSELECT)
    private List subCategorias;


}


desde já agradeço a ajuda de todos.
Anonymous

Anonymous

Responder

Posts

11/04/2010

Carlos Mazzi

conseguiu companheiro?   Porfavor, post ai se deu certo, para que possamos compartilhar o fechamento desse post.   Abraços++    
Responder

30/04/2010

Dyego Carmo

Olá

Conseguiu ?

Se sim , feche o chamado por favor :)
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar