Mapeamento one-to-one

Senhores,

       é o seguinte estou tendo problemas com o mapeamento de 1:1 no hibernate, tenho uma classe Usuario e uma Militar, só posso cadastrar um usuário se for um militar, ou seja e faço uma busca na tabela militar seleciono um e jogo na tabela usuario e enfim cadastro.Gostaria que alguém me ajudasse nesse mapeamento. veja as classes.

Usuario

public class Usr{

private static final long serialVersionUID = 7432164546774648952L;

private String login;

private String senha;

private Militar militar;

public Usr() {
}

public String getLogin() {
	return login;
}

public void setLogin(String login) {
	this.login = login;
}

public Militar getMilitar() {
	return militar;
}

public void setMilitar(Militar militar) {
	this.militar = militar;
}

public String getSenha() {
	return senha;
}

public void setSenha(String senha) {
	this.senha = senha;
}

Militar

public class Militar {

private static final long serialVersionUID = 2389657681844299011L;
private String identidade;
private String tipoMilitar;
private String nomeGuerra;	

    public String getIdentidade() {
	return identidade;
}
public void setIdentidade(String identidade) {
	this.identidade = identidade;
}
public String getNomeGuerra() {
	return nomeGuerra;
}
public void setNomeGuerra(String nomeGuerra) {
	this.nomeGuerra = nomeGuerra;
}
public String getTipoMilitar() {
	return tipoMilitar;
}
public void setTipoMilitar(String tipoMilitar) {
	this.tipoMilitar = tipoMilitar;
}

 public int compareTo(Object object) {
        Militar militar = (Militar) object;
        return this.nomeGuerra.compareTo(militar.nomeGuerra);
    }

 
 public boolean equals(Object objMilitar) {
	 if (objMilitar == null && !(objMilitar instanceof Militar)) {
		 return false;
	 }
	 Militar outroMilitar = (Militar) objMilitar;
	 return this.getIdentidade() != null && this.getIdentidade().equals(outroMilitar.getIdentidade());
 }

e agora meus HBMs

Militar

<?xml version="1.0"?>

Usuario

<?xml version="1.0"?>

desde já muito obrigado,

Bruno