Foreign key sendo passada como null, usando JDBC + SQL SERVER 2008

Boa tarde a todos.
Estou trabalhando com JDBC e SQL SERVER 2008, e estou tentando armazenar os dados do contato de um artesão,
porém estou tendo dificuldades de conseguir pegar a foreign key da tabela ‘contato’, não sei exatamente ql referência que devo usar na query e tentei usar SCOPE_IDENTITY())… Não sei se é a correta.
Na tabela de ‘artesão’ eu defini a primary key ‘IdArtesao’ como identity, pelo que sei ele deveria levar o mesmo valor de primary key quando é referênciado na tabela ‘contato’ como foreign key, porém quando tento inserir ocorre o seguinte erro.

“Erro: Cannot insert the value NULL into column ‘idArtesao’, table ‘Artesanato.dbo.contato’; column does not allow nulls. INSERT fails.”

Lembrando que o cadastro do artesão apenas, ocorre normalmente.

Abaixo segue o código:

[code]public void inserirArtesao (Artesao art) throws Exception {

    abrirConexao();
    
    
        stmt = conn.prepareStatement("INSERT INTO artesao VALUES (?,?,?,?)");
        
        stmt.setString(1,  art.getPAB());
        stmt.setString(2,  art.getNome());
        stmt.setString(3,  cd.converterDataParaString(art.getDataNascimento()));
        stmt.setBoolean(4, art.getSexo());
        stmt.execute();
        stmt.close();
        
        //stmt = conn.prepareStatement("INSERT INTO contato VALUES (?,?,?,?)");
        stmt = conn.prepareStatement("INSERT INTO contato VALUES (?,?,?,?,SCOPE_IDENTITY())");

        stmt.setString(1,art.getContato().getEmail());
        stmt.setString(2,art.getContato().getTelefone());
        stmt.setString(3,art.getContato().getCelular());
        stmt.setString(4,art.getContato().getObservacao());
        stmt.execute();
        stmt.close();
               
    fecharConexao();
}[/code]