[RESOLVIDO] Hibernate :Cannot add or update a child row: a foreign key constraint fails

Oi galera,
eu não sei porque esta acontecendo o seguinte erro na minha aplicação:

Então vou disponibilizar as minhas tabelas para caso vocês consigam me ajudar a ver onde estou errando:

//Tabela User

DROP TABLE IF EXISTS `bytecodete`.`user`; CREATE TABLE `bytecodete`.`user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `type` tinyint(1) unsigned NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`) )

//Tabela company
     DROP TABLE IF EXISTS `bytecodete`.`company`;
     CREATE TABLE  `bytecodete`.`company` (
      `idUser` int(11) NOT NULL,
      `fantasyName` varchar(55) NOT NULL,
      `corporateName` varchar(55) NOT NULL,
      `cnpj` varchar(14) NOT NULL,
      PRIMARY KEY (`idUser`),
      UNIQUE KEY `cnpj` (`cnpj`),
      CONSTRAINT `company_ibfk_1` FOREIGN KEY (`idUser`) REFERENCES `user` (`id`) 
      ON DELETE CASCADE ON UPDATE CASCADE
    )
// Tabela company links

DROP TABLE IF EXISTS `bytecodete`.`company_links`; CREATE TABLE `bytecodete`.`company_links` ( `id` int(11) NOT NULL DEFAULT '0', `idCompany` int(10) unsigned NOT NULL, `serviceName` varchar(45) NOT NULL, `link` varchar(45) NOT NULL, PRIMARY KEY (`id`) USING BTREE, CONSTRAINT `FK_company_links_1` FOREIGN KEY (`id`) REFERENCES `company` (`idUser`) ON DELETE CASCADE ON UPDATE CASCADE )

Pelo que entendo, esta exceção é lançada quando eu tento adicionar algo na tablea ‘company_links’ sem ter o id da ‘company’, porém este id já esta na tabela com o insert anterior.
De qualquer forma aqui esta a saída do meu hibernate:

    11:47:30,809  INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
    Hibernate: 
        insert 
        into
            bytecodete.user
            (email, password, type) 
        values
            (?, ?, ?)
    11:47:30,948 TRACE StringType:133 - binding 'valter.bcc@gmail.com' to parameter: 1
    11:47:30,949 TRACE StringType:133 - binding 'U25YM/DOl5k=' to parameter: 2
    11:47:30,950 TRACE IntegerType:133 - binding '2' to parameter: 3
    Hibernate: 
        insert 
        into
            bytecodete.company
            (cnpj, corporateName, fantasyName, idUser) 
        values
            (?, ?, ?, ?)
    11:47:31,214 TRACE StringType:133 - binding '98806728000100' to parameter: 1
    11:47:31,215 TRACE StringType:133 - binding 'Semana da Computação e Tecnologia' to parameter: 2
    11:47:31,215 TRACE StringType:133 - binding 'SECOT' to parameter: 3
    11:47:31,216 TRACE IntegerType:133 - binding '37' to parameter: 4
    idCompany=37
    Hibernate: 
        select
            company_.idUser,
            company_.cnpj as cnpj9_,
            company_.corporateName as corporat3_9_,
            company_.fantasyName as fantasyN4_9_ 
        from
            bytecodete.company company_ 
        where
            company_.idUser=?
    11:47:31,300 TRACE IntegerType:133 - binding '37' to parameter: 1
    11:47:31,316 TRACE StringType:172 - returning '98806728000100' as column: cnpj9_
    11:47:31,316 TRACE StringType:172 - returning 'Semana da Computação e Tecnologia' as column: corporat3_9_
    11:47:31,351 TRACE StringType:172 - returning 'SECOT' as column: fantasyN4_9_
    Hibernate: 
        insert 
        into
            bytecodete.company_links
            (idCompany, link, serviceName, id) 
        values
            (?, ?, ?, ?)
    11:47:31,353 TRACE IntegerType:133 - binding '37' to parameter: 1
    11:47:31,354 TRACE StringType:133 - binding 'http://www.flickr.com/services/api/' to parameter: 2
    11:47:31,354 TRACE StringType:133 - binding 'Flickr' to parameter: 3
    11:47:31,355 TRACE IntegerType:133 - binding '0' to parameter: 4
    11:47:31,433  WARN JDBCExceptionReporter:77 - SQL Error: 1452, SQLState: 23000
    11:47:31,452 ERROR JDBCExceptionReporter:78 - Cannot add or update a child row: a foreign key constraint fails (`bytecodete`.`company_links`, CONSTRAINT `FK_company_links_1` FOREIGN KEY (`id`) REFERENCES `company` (`idUser`) ON DELETE CASCADE ON UPDATE CASCADE)

Obrigado pela atenção galera.

vc colocou id como fk então quando adiciona o registro com o 0 ele procura zero na outra tabela!! existe la?

Oi meu amigo,
ele existe sim cara, consegui achar o erro, era que eu estava atribuindo a chave estrangeira da ‘company’ no id da tabela ‘company_links’ o que esta errado, mudei isso e foi perfeitamente.

Obrigado pela ajuda.

E como ficou a tabela agora?