Pessoal,
Estou tentando aprender a usar o hibernate, mas estou apanhando na questão de relacionamentos.
Tenho 2 Classes:
PontoAcao:
class PontoAcao {
private Integer id;
private String descricao;
//getters e setters
}
PontoRegistro
class PontoRegistro{
private Integer id;
private Date data;
private PontoAcao acaoentrada;
private Date horaentrada;
private PontoAcao acaosaida;
private Date horasaida;
//getters e setters
}
Bom, a duvida é simples, como mapear o hibernate do banco de dados para aceitar essa configuracao, sendo que pode ou nao haver uma acaosaida …
vou colar o que já fiz pra vocês olharem:
PontoAcao.hbm.xml
<hibernate-mapping package="pro.peron.ponto.model">
<class name="PontoAcao">
<id name="id">
<generator class="native" />
</id>
<property name="descricao" />
</class>
</hibernate-mapping>
PontoRegistro.hbm.xml
<hibernate-mapping package="pro.peron.ponto.model">
<class name="PontoRegistro" table="ponto_registros">
<id name="id">
<generator class="native" />
</id>
<property name="horaentrada" type="time" />
<property name="horaentrada" type="time" />
<!-- aqui nao sei o que fazer para carregar um objeto PontoAcao, ou referenciar null se o campo for nulo -->
</class>
</hibernate-mapping>
meu ddl:
CREATE TABLE IF NOT EXISTS ponto_acoes (
id int(11) unsigned NOT NULL auto_increment,
descricao varchar(255) ,
chave varchar(20) ,
correspondente int(11) unsigned ,
PRIMARY KEY (id),
UNIQUE KEY codigo (id)
);
CREATE TABLE IF NOT EXISTS ponto_registros (
id int(11) unsigned NOT NULL auto_increment,
usuario int(11) ,
data date ,
acaoentrada int(11) ,
entrada time ,
acaosaida int(11) ,
saida time ,
manual tinyint(1) unsigned NOT NULL DEFAULT '0' ,
observacao varchar(255) ,
PRIMARY KEY (id),
UNIQUE KEY codigo (id)
);
CREATE TABLE IF NOT EXISTS ponto_usuarios (
id int(11) unsigned NOT NULL auto_increment,
nome varchar(255),
login varchar(20) ,
senha varchar(32) ,
ativo tinyint(1) unsigned NOT NULL DEFAULT '1' ,
PRIMARY KEY (id),
UNIQUE KEY codigo (id),
UNIQUE KEY ds_login (login)
);
Grato desde já pela ajuda de todos!
sds