Como mudar a cor de uma linha na tabela


Bom dia a todos! Estou desenvolvendo um sistema de controle de estoque em java web

usando primefaces, jsf hibernate e banco de  dados postgreSQL.

Tenho uma datable e que mostra todos os produtos do estoque e gostaria de fazer uma determinada linha ficar vermelha se caso a quantidade do produto fique a baixo de 10.

xhtml

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/_template.xhtml">
	<ui:define name="corpo">
		<h:form id="cadastro">
	
			<p:messages />
			



			<p:tabView value="Editar produto"
				rendered="#{not empty
			produtoBean.produto.id}">
				<p:tab title="Editar produto">
					<p:fieldset legend="Dados do produto">










						<h:outputLabel value="Nome/Descrição:" for="nome" />
						<p:inputMask value="#{produtoBean.produto.nome}" style="width:20%"
							placeholder="EX: Nome / Tipo / Cor / Marca">
							<f:validator validatorId="comecaComMaiuscula" />
						</p:inputMask>

						<h:outputLabel value="Custo/Unid:" for="custo" />
						<p:inputText id="custo" value="#{produtoBean.produto.custo}"
							placeholder="EX: 11.15" required="true"
							requiredMessage="Preço de custo é obrigatório EX: 0.05."
							validatorMessage="0 valor mínimo do preço de custo é 0.">
							<f:validateDoubleRange minimum="0" />
						</p:inputText>
						
							
						<h:outputLabel value="ICMS:" for="icms" />
						<p:inputText id="icms" value="#{produtoBean.produto.icms}"
							placeholder="EX: 11.15" required="true"
							requiredMessage="ICMS é obrigatório EX: 0.05."
							validatorMessage="0 valor mínimo do ICMS de custo é 0.">
							<f:validateDoubleRange minimum="0" />
						</p:inputText>

						<h:outputLabel value="Perc.de Aumento:" for="percentualAumento" />
						<p:inputText id="percentualAumento"
							value="#{produtoBean.produto.percentualAumento}"
							placeholder="EX: 0" required="true"
							requiredMessage="Percentual de aumento é obrigatório EX: 0."
							validatorMessage="0 valor mínimo do Percentual de aumento é 0.">
							<f:validateDoubleRange minimum="0" />
						</p:inputText>


						<h:outputLabel value="Frete:" for="frete" />
						<p:inputText id="frete" value="#{produtoBean.produto.frete}"
							placeholder="EX: 0" required="true"
							requiredMessage="Frete é obrigatório EX: 0"
							validatorMessage="0 valor mínimo do frete é 0.">
							<f:validateDoubleRange minimum="0" />
						</p:inputText>

						<h:outputLabel value="Lote:" for="lote" />
						<p:inputMask value="#{produtoBean.produto.lote}"
							placeholder="EX: VL12J" />
						<h:outputLabel value="Quantidade:" for="quantidade" />
						<p:inputText value="#{produtoBean.produto.quantidade}"
							placeholder="EX: 12" required="true"
							requiredMessage="Quantidade obrigatória."
							validatorMessage="A quantidade deve ser maior que 0.">
							<f:validateDoubleRange minimum="1" />
						</p:inputText>

						<h:outputLabel value="Unid.Medida" for="selecaoUbidadeMedida" />
						<p:selectOneMenu id="selecaoUbidadeMedida"
							value="#{produtoBean.produto.selecaoUbidadeMedida}">
							<f:selectItem itemLabel="Unidade(s)" itemValue="unidade(s)">
							</f:selectItem>
							<f:selectItem itemLabel="Kg(s)" itemValue="kg(s)">
							</f:selectItem>
							<f:selectItem itemLabel="Metro(s)" itemValue="metro(s)">
							</f:selectItem>
							<f:selectItem itemLabel="Caixa(s)" itemValue="caixa(s)">
							</f:selectItem>
							<f:selectItem itemLabel="Par(es)" itemValue="par(es)">
							</f:selectItem>
						</p:selectOneMenu>

						<br></br>

						<h:outputLabel value="Data da compra:" for="dataCompra" />
						<p:calendar value="#{produtoBean.produto.dataCompra.time}"
							pattern="dd/MM/yyyy" />
						<h:outputLabel value="Localizaçao:" for="localizacao" />
						<p:inputMask value="#{produtoBean.produto.localizacao}"
							placeholder="EX: R1P2A3AP2" />





						<table border="0">
							<tr>
								<td><h:commandButton value="Gravar"
										rendered="#{not empty produtoBean.produto.id}"
										action="#{produtoBean.grava}">
										<f:ajax execute="@form" render=":lista :cadastro" />
									</h:commandButton></td>
								<td><h:commandButton value="Cancelar"
										rendered="#{not empty produtoBean.produto.id}"
										action="#{produtoBean.cancela}"></h:commandButton></td>

							</tr>
						</table>






					</p:fieldset>
				</p:tab>
			</p:tabView>



		</h:form>


		<table border="0">
			<tr>
				<td><p:commandButton value="Imprimir" type="button"
						style="display:block:margin-bottom: 20px ">
						<p:printer target="lista" />
					</p:commandButton></td>
			</tr>
		</table>

		<h:form id="lista">

			<p:dataTable
				value="#{listaItemProdutoFornecedorBean.itemProdutoFornecedores}"
				var="itemProdutoFornecedores" paginator="true" rows="30"
				sortBy="#{itemProdutoFornecedores.produto.nome}"
				emptyMessage="Não foi encontrado os dados do produto."
				style="width:100%">

				<f:facet name="header">Lista de produtos</f:facet>




				<p:column>
					<f:facet name="header">Data da compra</f:facet>
					<h:outputText
						value="#{itemProdutoFornecedores.produto.dataCompra.time}">
						<f:convertDateTime type="date" dateStyle="short"
							pattern="dd/MM/yyyy"></f:convertDateTime>
					</h:outputText>
				</p:column>



				<p:column headerText="Produto"
					filterBy="#{itemProdutoFornecedores.produto.nome}">
					<f:facet name="header">Produto</f:facet>
 #{itemProdutoFornecedores.produto.nome} 
 </p:column>
				<p:column headerText="Fornecedor">
					<f:facet name="header">Fornecedor</f:facet>
 #{itemProdutoFornecedores.fornecedor.nome} 
 </p:column>
				<p:column headerText="Lote">
					<f:facet name="header">Lote</f:facet>
 #{itemProdutoFornecedores.produto.lote}
 </p:column>


				
								<p:column>
					<f:facet name="header">ICMS</f:facet>
					<h:outputText value="#{itemProdutoFornecedores.produto.icms}">
						<f:convertNumber pattern="R$ #0.00"></f:convertNumber>
					</h:outputText>
				</p:column>
				
				<p:column>
					<f:facet name="header">Frete</f:facet>
					<h:outputText value="#{itemProdutoFornecedores.produto.frete}">
						<f:convertNumber pattern="R$ #0.00"></f:convertNumber>
					</h:outputText>
				</p:column>
				
	<p:column>
					<f:facet name="header">Quantid.</f:facet>
 #{itemProdutoFornecedores.produto.quantidade} #{itemProdutoFornecedores.produto.selecaoUbidadeMedida}
 </p:column>				
				<p:column>
					<f:facet name="header">Custo Unid.</f:facet>
					<h:outputText value="#{itemProdutoFornecedores.produto.custo}">
						<f:convertNumber pattern="R$ #0.00"></f:convertNumber>
					</h:outputText>
				</p:column>
				

				<p:column>
					<f:facet name="header">Venda Unid.</f:facet>
					<h:outputText
						value="#{itemProdutoFornecedores.produto.precoAtualizado}">
						<f:convertNumber pattern="R$ #0.00"></f:convertNumber>
					</h:outputText>
				</p:column>

<p:column>
					<f:facet name="header">Custo estoque</f:facet>
					<h:outputText
						value="#{itemProdutoFornecedores.produto.custoTotal}">
						<f:convertNumber pattern="R$ #0.00"></f:convertNumber>
					</h:outputText>
				</p:column>
				
				
				<p:column>
					<f:facet name="header">Venda estoque</f:facet>
					<h:outputText
						value="#{itemProdutoFornecedores.produto.precoAtualizadoProdutosTotalEstoque}">
						<f:convertNumber pattern="R$ #0.00"></f:convertNumber>
					</h:outputText>
				</p:column>
				
				<p:column>
					<f:facet name="header">Lucro Unid.</f:facet>
					<h:outputText
						value="#{itemProdutoFornecedores.produto.lucroUnidade}">
						<f:convertNumber pattern="R$ #0.00"></f:convertNumber>
					</h:outputText>
				</p:column>
				
				<p:column>
					<f:facet name="header">Lucro estoque</f:facet>
					<h:outputText
						value="#{itemProdutoFornecedores.produto.lucroRotativo}">
						<f:convertNumber pattern="R$ #0.00"></f:convertNumber>
					</h:outputText>
				</p:column>
				
				
				
				<p:column>
					<f:facet name="header">Lucro total</f:facet>
					<h:outputText
						value="#{itemProdutoFornecedores.produto.lucroTotal}">
						<f:convertNumber pattern="R$ #0.00"></f:convertNumber>
					</h:outputText>
				</p:column>
				
				
				

				<p:column>

					<f:facet name="header">Local</f:facet>
 #{itemProdutoFornecedores.produto.localizacao}
 </p:column>

				<p:column style="width:16%" visible="false">
					<f:facet name="header">Ações</f:facet>
					<h:commandLink value="Alterar" styleClass="btn">
						<f:setPropertyActionListener
							value="#{itemProdutoFornecedores.produto}"
							target="#{produtoBean.produto}" />
					</h:commandLink>
					<h:commandLink
						action="#{listaItemProdutoFornecedorBean.remove(itemProdutoFornecedores.produto)}"
						value="Remover" styleClass="btn btn-danger">
						<f:ajax render="@form"></f:ajax>
					</h:commandLink>
				</p:column>


				<p:column style="width:20%">
					<f:facet name="header">Ações</f:facet>
					<h:commandLink value="Alterar" styleClass="btn">
						<f:setPropertyActionListener
							value="#{itemProdutoFornecedores.produto}"
							target="#{produtoBean.produto}" />
					</h:commandLink>
										

    <p:commandLink value="Remover"
						action="#{listaItemProdutoFornecedorBean.remove(itemProdutoFornecedores.produto)}"
						update=":lista" styleClass="btn btn-danger">
        <p:confirm header="Alerta"
							message="A exclusão somente ocorrerá, se não tiver uma baixa associada ao produto." />
    </p:commandLink>
    <p:confirmDialog global="true" showEffect="fade" hideEffect="fade">
        <p:commandButton value="Confirmar exclusão" type="button"
							action="#{listaItemProdutoFornecedorBean.remove(itemProdutoFornecedores.produto)}"
							styleClass="ui-confirmdialog-yes" />
        <p:commandButton value="Cancelar" type="button"
							styleClass="ui-confirmdialog-no" />
    </p:confirmDialog>      
				</p:column>


			</p:dataTable>
		</h:form>

		<br></br>





	</ui:define>
</ui:composition>


</html>


java modelo

package com.controleestoque.modelo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Cascade;
import org.hibernate.validator.constraints.NotEmpty;

@Entity
public class Produto implements Serializable {

	@Id
	@SequenceGenerator(name = "produto_id", sequenceName = "produto_seq", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "produto_id")

	private Long id;
	@NotEmpty(message = "Produto deve ter um nome válido.")
	private String nome;
	private Double custo;
	private Double custoTotal;
	private Double frete;
	private Double percentualAumento;

	@NotEmpty(message = "Produto deve ter um lote válido.")
	private String lote;
	private Double quantidade;
	private String selecaoUbidadeMedida;
	@NotEmpty(message = "Produto deve ter uma localização válida.")
	private String localizacao;
	@Temporal(TemporalType.DATE)
	private Calendar dataCompra = Calendar.getInstance();
	private Double precoAtualizado;
	private Double precoAtualizadoProdutosTotalEstoque;
	private Double icms;

	private Double quantidadeMomentoCadastro;
	private Double custoMomentoCadastro;

	private Double lucroUnidade;
	private Double lucroRotativo;
	private Double lucroTotal;

	@OneToMany(cascade = CascadeType.PERSIST, mappedBy = "produto")
	// @Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
	private List<Item> itens = new ArrayList<>();

	@OneToMany(cascade = CascadeType.PERSIST, mappedBy = "produto")
	@Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
	private List<ItemProdutoFornecedor> itemProdutoFornecedores = new ArrayList<>();

	public Double getQuantidade() {
		if (quantidadeMomentoCadastro == null) {
			quantidadeMomentoCadastro = quantidade;
			return quantidadeMomentoCadastro;
		}
		return quantidade;
	}

	public void setQuantidade(Double quantidade) {
		this.quantidade = quantidade;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getLocalizacao() {
		return localizacao;
	}

	public void setLocalizacao(String localizacao) {
		this.localizacao = localizacao;
	}

	public String getLote() {
		return lote;
	}

	public void setLote(String lote) {
		this.lote = lote;
	}

	public List<Item> getItens() {
		return itens;
	}

	public void setItens(List<Item> itens) {
		this.itens = itens;
	}

	public Calendar getDataCompra() {
		return dataCompra;
	}

	public void setDataCompra(Calendar dataCompra) {
		this.dataCompra = dataCompra;
	}

	public List<ItemProdutoFornecedor> getItemProdutoFornecedores() {
		return itemProdutoFornecedores;
	}

	public void setItemProdutoFornecedores(List<ItemProdutoFornecedor> itemProdutoFornecedores) {
		this.itemProdutoFornecedores = itemProdutoFornecedores;
	}

	public Double getCusto() {
		if (custoMomentoCadastro == null) {
			custoMomentoCadastro = custo;
			return custoMomentoCadastro;
		}
		return custo;
	}

	public void setCusto(Double custo) {
		this.custo = custo;
	}

	public Double getCustoTotal() {

		Double produtoQuantidade = (double) quantidade;
		custoTotal = custo * produtoQuantidade;

		return custoTotal;
	}

	public void setCustoTotal(Double custoTotal) {
		this.custoTotal = custoTotal;
	}

	public Double getFrete() {
		return frete;
	}

	public void setFrete(Double frete) {
		this.frete = frete;
	}

	public Double getPercentualAumento() {
		return percentualAumento;
	}

	public void setPercentualAumento(Double percentualAumento) {
		this.percentualAumento = percentualAumento;
	}

	public Double getPrecoAtualizado() {

		Double produtoQuantidade = (double) quantidadeMomentoCadastro;
		Double calculoIcmsFrete = (icms + frete) / produtoQuantidade;

		
		Double rp = percentualAumento / 100;
		Double rcp = custo * rp;
		Double resultado = custo + rcp;

		if (produtoQuantidade > 0) {
			precoAtualizado = resultado + calculoIcmsFrete;
		} else {
			precoAtualizado = resultado;
		}
		return precoAtualizado;
	}

	public void setPrecoAtualizado(Double precoAtualizado) {
		this.precoAtualizado = precoAtualizado;
	}

	public String getSelecaoUbidadeMedida() {
		return selecaoUbidadeMedida;
	}

	public void setSelecaoUbidadeMedida(String selecaoUbidadeMedida) {
		this.selecaoUbidadeMedida = selecaoUbidadeMedida;
	}

	public Double getPrecoAtualizadoProdutosTotalEstoque() {
		// logica para calcular produtos no estoque
		Double produtoQuantidade = (double) quantidade;
		precoAtualizadoProdutosTotalEstoque = precoAtualizado * produtoQuantidade;

		return precoAtualizadoProdutosTotalEstoque;
	}

	public void setPrecoAtualizadoProdutosTotalEstoque(Double precoAtualizadoProdutosTotalEstoque) {
		this.precoAtualizadoProdutosTotalEstoque = precoAtualizadoProdutosTotalEstoque;
	}

	public Double getIcms() {
		return icms;
	}

	public void setIcms(Double icms) {
		this.icms = icms;
	}

	public Double getQuantidadeMomentoCadastro() {

		return quantidadeMomentoCadastro;
	}

	public void setQuantidadeMomentoCadastro(Double quantidadeMomentoCadastro) {
		this.quantidadeMomentoCadastro = quantidadeMomentoCadastro;
	}

	public Double getCustoMomentoCadastro() {
		return custoMomentoCadastro;
	}

	public void setCustoMomentoCadastro(Double custoMomentoCadastro) {
		this.custoMomentoCadastro = custoMomentoCadastro;
	}

	public Double getLucroUnidade() {
		lucroUnidade = (precoAtualizado - custo) - ((icms + frete) / quantidadeMomentoCadastro);
		return lucroUnidade;
	}

	public void setLucroUnidade(Double lucroUnidade) {
		this.lucroUnidade = lucroUnidade;
	}

	public Double getLucroRotativo() {

		lucroRotativo = lucroUnidade * quantidade;
		return lucroRotativo;
	}

	public void setLucroRotativo(Double lucroRotativo) {
		this.lucroRotativo = lucroRotativo;
	}

	public Double getLucroTotal() {
		lucroTotal = lucroUnidade * quantidadeMomentoCadastro;
		return lucroTotal;
	}

	public void setLucroTotal(Double lucroTotal) {
		this.lucroTotal = lucroTotal;
	}

}


java bean

package com.controleestoque.mb;

import java.io.Serializable;
import java.util.List;

import javax.faces.application.Application;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;

import com.controleestoque.dao.DAO;
import com.controleestoque.modelo.Fornecedor;
import com.controleestoque.modelo.Funcionario;
import com.controleestoque.modelo.Item;
import com.controleestoque.modelo.ItemProdutoFornecedor;
import com.controleestoque.modelo.Produto;

@ViewScoped
@ManagedBean
public class ProdutoBean implements Serializable {

	private Produto produto = new Produto();
	private List<Produto> produtos;

	private Item item = new Item();
	private Long idFuncionario;

	private ItemProdutoFornecedor itemProdutoFornecedor = new ItemProdutoFornecedor();
	private Long idFornecedor;

	public Produto getProduto() {
		return this.produto;
	}

	public void setProduto(Produto produto) {
		this.produto = produto;
	}

	// metodo para atualizar toda pagina
	public void refresh() {

		FacesContext context = FacesContext.getCurrentInstance();

		Application application = context.getApplication();

		javax.faces.application.ViewHandler viewHandler = application.getViewHandler();

		UIViewRoot viewRoot = viewHandler.createView(context, context.getViewRoot().getViewId());

		context.setViewRoot(viewRoot);

		context.renderResponse();

	}

	public void grava() {
		DAO<Produto> dao = new DAO<Produto>(Produto.class);
		if (produto.getId() == null) {
			dao.adiciona(produto);

			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Produto foi cadastrado com sucesso!"));

		} else {
			dao.atualiza(produto);

			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Produto foi atualizado com sucesso!"));

		}

		this.produto = new Produto();
		this.produtos = dao.listaTodos();
	}

	public List<Produto> getProdutos() {
		if (produtos == null) {
			System.out.println("Carregando produtos...");
			produtos = new DAO<Produto>(Produto.class).listaTodos();
		}
		return produtos;
	}

	public void remove(Produto produto) {
		DAO<Produto> dao = new DAO<Produto>(Produto.class);
		dao.remove(produto);
		this.produtos = dao.listaTodos();

		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Produto foi removido com sucesso!"));
		refresh();

	}

	public void cancela() {
		this.produto = new Produto();

	}

	public Double getTotal() {
		Double soma = produto.getQuantidade();
		if (produtos != null) {
			for (Produto produto : produtos) {
				soma += produto.getQuantidade();
			}
		}
		return soma;
	}
	
	
//guardar funcionario
	public void guardaItem() {
		DAO<Funcionario> dao = new DAO<Funcionario>(Funcionario.class);
		Funcionario funcionario = dao.buscaPorld(idFuncionario);
		item.setFuncionario(funcionario);
		produto.getItens().add(item);
		item.setProduto(produto);
		item = new Item();

	}

	public void guardaItemFornecedor() {
		DAO<Fornecedor> dao = new DAO<Fornecedor>(Fornecedor.class);
		Fornecedor fornecedor = dao.buscaPorld(idFornecedor);
		itemProdutoFornecedor.setFornecedor(fornecedor);
		produto.getItemProdutoFornecedores().add(itemProdutoFornecedor);
		itemProdutoFornecedor.setProduto(produto);
		itemProdutoFornecedor = new ItemProdutoFornecedor();
		grava();
	}

	public Long getIdFuncionario() {
		return idFuncionario;
	}

	public void setIdFuncionario(Long idFuncionario) {
		this.idFuncionario = idFuncionario;
	}

	public Item getItem() {
		return item;
	}

	public void setItem(Item item) {
		this.item = item;
	}

	public ItemProdutoFornecedor getItemProdutoFornecedor() {
		return itemProdutoFornecedor;
	}

	public void setItemProdutoFornecedor(ItemProdutoFornecedor itemProdutoFornecedor) {
		this.itemProdutoFornecedor = itemProdutoFornecedor;
	}

	public Long getIdFornecedor() {
		return idFornecedor;
	}

	public void setIdFornecedor(Long idFornecedor) {
		this.idFornecedor = idFornecedor;
	}

	public void setProdutos(List<Produto> produtos) {
		this.produtos = produtos;
	}

}


DAO

package com.controleestoque.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.criteria.CriteriaQuery;

public class DAO<T> {
	private final Class<T> classe;

	public DAO(Class<T> classe) {
		this.classe = classe;
	}

	public void adiciona(T t) {
		// consegue a entity manager
		EntityManager em = new JPAUtil().getEntityManager();
		// abre transacao
		em.getTransaction().begin();
		// persiste o objeto
		em.persist(t);
		// commita a transacao
		em.getTransaction().commit();
		// fecha a entity manager
		em.close();
	}

	public void remove(T t) {
		EntityManager em = new JPAUtil().getEntityManager();
		em.getTransaction().begin();
		em.remove(em.merge(t));
		em.getTransaction().commit();
		em.close();
	}

	public void atualiza(T t) {
		EntityManager em = new JPAUtil().getEntityManager();
		em.getTransaction().begin();
		em.merge(t);
		em.getTransaction().commit();
		em.close();
	}

	public List<T> listaTodos() {
		EntityManager em = new JPAUtil().getEntityManager();
		CriteriaQuery<T> query = em.getCriteriaBuilder().createQuery(classe);
		query.select(query.from(classe));
		List<T> lista = em.createQuery(query).getResultList();
		em.close();
		return lista;
	}

	public T buscaPorld(Long id) {
		EntityManager em = new JPAUtil().getEntityManager();
		return (T) em.find(classe, id);
	}
}


desde ja agradeço o retorno.

JPUTIL


package com.controleestoque.dao;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class JPAUtil {
	
	private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("controleestoque");

	public EntityManager getEntityManager() {
		return emf.createEntityManager();
	}
}