Eu tenho as seguintes classes:
package almoxarifado;
[b]public class Produto [/b]
{
private Integer codigo;
private String nome;
private Grupo grupo;
private Double custmed;
private Double custrep;
private Double custo;
private Integer estoque;
métodos gets e sets...
}
[b]public class Saida [/b]
{
private Integer codigo;
private Funcionario funciorio
private String documento;
private Date data;
métodos get e sets
}
[b]public class ItensSaida [/b]{
private Integer referencia;
private Produto produto;
private Saida saida;
private Integer quantidade;
métodos get e sets
}
Relação 1 funcionario pode ter N Saídas 1 pode ter N Produtos
O mapeamento que estou utilizando é o seguinte
[b]FUNCIONARIO[/b]
<hibernate-mapping>
<class name="almoxarifado.Funcionario">
<!-- Identificador da classe -->
<id name="codigo" column="fun_codigo">
</id>
<property name="nome" column="fun_nome"/>
<!-- Propriedades da classe -->
<many-to-one
name="unidade"
class="almoxarifado.Unidade"
column="fun_unidade"/>
<many-to-one
name="departamento"
class="almoxarifado.Departamento"
column="fun_departa"/>
[b]PRODUTO[/b]
<class name="almoxarifado.Produto">
<!-- Identificador da classe -->
<id name="codigo" column="pro_codigo">
</id>
<property name="nome" column="pro_nome"/>
<property name="custmed" column="pro_cusmed"/>
<property name="custrep" column="pro_cusrep"/>
<property name="custo" column="pro_custo"/>
<property name="estoque" column="pro_estoque"/>
<!-- Propriedades da classe -->
<many-to-one
name="grupo"
class="almoxarifado.Grupo"
column="pro_grupo"/>
</class>
[b]SAIDA [/b]
class name="almoxarifado.Saida">
<id name="codigo" column="sai_codigo">
<generator class="increment"/>
</id>
<property name="documento" column="sai_documento"/>
<property name="data" column="sai_data"/>
<many-to-one
name="funcionario"
class="almoxarifado.Funcionario"
column="sai_funcio"/>
<many-to-one
name="unidade"
class="almoxarifado.Unidade"
column="sai_unidade"/>
</class>
[b]ITENS DA SAIDA[/b]
<class name="almoxarifado.ItensSaida">
<id name="referencia" column="isa_referencia">
<generator class="increment"/>
</id>
<property name="quantidade" column="isa_quantidade"/>
<many-to-one
name="produto"
class="almoxarifado.Produto"
column="isa_produto"/>
<many-to-one
name="saida"
class="almoxarifado.Saida"
column="isa_saida"/>
</class>
Minha duvida é a seguinte:
Eu gostaria que cada vez q salvasse a saída armazenasse tambem os itens da saída e a cada item armazenado diminuísse a quantidade do estoque do produto. Teria como fazer isso só através só do mapeamento?
Se eu utilizar Set para as classes dependentes, teria como fazer uma pesquisa por nome? Por exemplo, se eu utilizasse um Set para salvar os itens da saída , eu poderia fazer uma pesquisa pelo nome dos produtos?Como?