Inserção de registro com chave estrangeira

Gente, to com uma pequena dúvida. Por exemplo, tenho os seguintes scripts que uso em MySql:

[code]CREATE TABLE IF NOT EXISTS nomes (
idNome INTEGER NOT NULL AUTO_INCREMENT,
nome VARCHAR(20) NOT NULL,
PRIMARY KEY (idNome)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO nomes (nome) VALUES (‘Marcio’),(‘Joao’),(‘Paulo’);

CREATE TABLE IF NOT EXISTS sobrenomes (
idSobrenome INTEGER NOT NULL AUTO_INCREMENT,
idNome INTEGER NOT NULL,
sobrenome VARCHAR(20) NOT NULL,
PRIMARY KEY (idSobrenome),
FOREIGN KEY (idNome) REFERENCES nomes(idNome)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;[/code]
To com duvida de como inserir na tabale de sobrenomes. Por exemplo, se eu jogar a seguinte query no console

INSERT INTO sobrenomes (idNome,sobrenome) VALUES ((SELECT idNome FROM nomes nom WHERE nom.idNome=1),'Leal');

consigo inserir normalmente. O problema é que não sei como fazer isso com java.

Dando mais uma pesquisada pelo Google encontrei um POST aqui do Forum mesmo, adaptei o código pra mim e consegui fazer a inserção.