Adicionar fornecedor

Boa tarde preciso de ajuda. Não sei onde estou errando ao cadastrar o fornecedor. Poderiam apontar onde está o erro?

Segue console:
2017-11-18T21:09:14.466-0200|Informações: [EL Fine]: sql: 2017-11-18 21:09:14.466–ServerSession(201485019)–Connection(1501844121)–SELECT ID, CIDADE, CNPJ, EMAIL, ENDERECO, ESTADO, NOME, TELEFONE FROM FORNECEDOR
2017-11-18T21:09:14.512-0200|Informações: [EL Fine]: sql: 2017-11-18 21:09:14.511–ClientSession(39450789)–Connection(1501844121)–INSERT INTO NOTAFISCAL (DATA, EMISSAO, NUMERO, VALOR, VENCIMENTO, FORNECEDOR_ID) VALUES (?, ?, ?, ?, ?, ?)
bind => [2017-11-18, 17/11/2017, 1111, 22222, 11/12/2015, null]

Seguem os codigos:

<ui:composition template="/_template.xhtml">
<ui:define name="corpo">

	<div id="conteudo">		
	
	<f:view transient="true" />
	
		<h:form id="formNotaFiscal">		

			<fieldset>
				<legend>Dados do Fornecedor</legend>
				<h:outputLabel value="Escolha o Fornecedor:" />
				<h:selectOneMenu value="#{notaFiscalBean.idFornecedor}">
					<f:selectItems value="#{fornecedorBean.fornecedores}"
						var="fornecedor" itemValue="#{fornecedor.id}"
						 itemLabel="#{fornecedor.nome}" />
				</h:selectOneMenu>
				
				<h:commandButton action="/fornecedor" value="Cadastrar Fornecedor" />
				
			</fieldset>

			<fieldset>
				<legend>Dados da Nota Fiscal</legend>

				<h:outputLabel value="Numero da Nota:" />
				<h:inputText value="#{notaFiscalBean.notaFiscal.numero}" />

				<h:outputLabel value="Emissão:" />
				<h:inputText value="#{notaFiscalBean.notaFiscal.emissao}" />

				<h:outputLabel value="Data cadastro:" />
				<h:inputText value="#{notaFiscalBean.notaFiscal.data.time}">
					<f:convertDateTime pattern="dd/MM/yyyy"
						timeZone="America/Sao_Paulo" />

				</h:inputText>
				<h:outputLabel value="Vencimento:" />
				<h:inputText value="#{notaFiscalBean.notaFiscal.vencimento}" />


				<h:outputLabel value="Valor:" />
				<h:inputText value="#{notaFiscalBean.notaFiscal.valor}" />

				<h:outputLabel value="Situação:" />


			</fieldset>

			<h:commandButton value="Gravar" action="#{notaFiscalBean.gravar}" />

		</h:form>

		<h2>Notas Fiscais</h2>

		<h:form id="listaNotasFiscais">

			<h:dataTable value="#{notaFiscalBean.notasfiscais}" var="notaFiscal"
				styleClass="dados" rowClasses="impar,par">

				<h:column>
					<f:facet name="header">Numero da Nota</f:facet>
						#{notaFiscal.numero}
				</h:column>

				<h:column>
					<f:facet name="header">Data Emissão</f:facet>
				
						#{notaFiscal.emissao}
				</h:column>

				<h:column>
					<f:facet name="header">Fornecedor</f:facet>
						#{notaFiscal.fornecedor.nome}
				</h:column>
				
				<h:column>
					<f:facet name="header">Valor</f:facet>
					<h:outputText value="#{notaFiscal.valor}">
						<f:convertNumber type="currency" currencySymbol="R$ "
							locale="pt_BR" />
					</h:outputText>
				</h:column>
				
				<h:column>
					<f:facet name="header">Vencimento</f:facet>
						#{notaFiscal.vencimento}
				</h:column>
				
				<h:column>
					<f:facet name="header">Situação</f:facet>


				</h:column>
			</h:dataTable>
		</h:form>
	</div>
   </ui:define>
</ui:composition>
 </html>



     @Named @ViewScoped
    public class NotaFiscalBean implements Serializable{

private static final long serialVersionUID = 1L;

private NotaFiscal notaFiscal = new NotaFiscal();

private List<NotaFiscal> notasfiscais;

@Inject
private NotaFiscalDao notaFiscalDao;
		
private Long idFornecedor;

public void gravar() {	
	
	notaFiscalDao.adiciona(notaFiscal);
	this.notaFiscal = new NotaFiscal();
	idFornecedor = null;
}


public Long getIdFornecedor() {
	return idFornecedor;
}

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

public NotaFiscalDao getNotaFiscalDao() {
	return notaFiscalDao;
}

public void setNotaFiscalDao(NotaFiscalDao notaFiscalDao) {
	this.notaFiscalDao = notaFiscalDao;
}

public void setNotaFiscal(NotaFiscal notaFiscal) {
	this.notaFiscal = notaFiscal;
}
	
	
public NotaFiscal getNotaFiscal() {
return notaFiscal;
}


public List<NotaFiscal> getNotasfiscais() {
	if (notasfiscais == null) {
		System.out.println("Carregando notas fiscais...");
		notasfiscais = notaFiscalDao.listaTodos();
		}
		return notasfiscais;
		}
	


public void setNotasfiscais(List<NotaFiscal> notasfiscais) {
	this.notasfiscais = notasfiscais;
}



}

@Entity
 public class NotaFiscal implements Serializable{

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;

private String emissao;

private String numero;

private String vencimento;

private String valor;	
	
private Fornecedor fornecedor;	
		
@Temporal(TemporalType.DATE)
private Calendar data = Calendar.getInstance();


public Long getId() {
	return id;
}

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

public Calendar getData() {
	return data;
}

public void setData(Calendar data) {
	this.data = data;
}

	
public String getNumero() {
	return numero;
}

public void setNumero(String numero) {
	this.numero = numero;
}

public String getVencimento() {
	return vencimento;
}

public void setVencimento(String vencimento) {
	this.vencimento = vencimento;
}

public String getValor() {
	return valor;
}

public void setValor(String valor) {
	this.valor = valor;
}

public String getEmissao() {
	return emissao;
}

public void setEmissao(String emissao) {
	this.emissao = emissao;
}
	
public String getNotaFiscal() {
	return emissao;

}

public Fornecedor getFornecedor() {
	return fornecedor;
}

public void setFornecedor(Fornecedor fornecedor) {
	this.fornecedor = fornecedor;
}


}