Tenho uma entidade com uma composite-PK na qual uma delas é uma data.
Meu resultList tá mostrando certinho, com todas as informações que eu quero. Mas na hora de visualizar ou editar o que eu quero, ele dá erro.
Diz: “value must be a date”.
Ou seja, na hora da passagem de parâmetros ele não tá passando a data. O que eu vi na hora de debugar. Gostaria de saber se existe uma solução para o problema.
Já tentei passar como long e fazer um converter, mas não resolveu.
Seguem os códigos:
<rich:column styleClass="action">
<f:facet name="header">Ações</f:facet>
<s:link view="/Aditivo/#{empty from ? 'Aditivo' : from}.xhtml"
value="#{empty from ? 'Visualizar' : 'Selecionar'}"
propagation="#{empty from ? 'none' : 'default'}"
id="aditivoViewId">
<f:param name="aditivoSqAquisicao"
value="#{_aditivo.id.sqAquisicao}"/>
<f:param name="aditivoDtInicio"
value="#{aditivo.id.dtInicio.time}">
</f:param>
</s:link>
#{' '}
<s:link view="/Aditivo/AditivoEdit.xhtml"
value="Editar"
propagation="none"
id="aditivoEdit"
rendered="#{empty from}">
<f:param name="aditivoSqAquisicao"
value="#{_aditivo.id.sqAquisicao}"/>
<f:param name="aditivoDtInicio"
value="#{_aditivo.id.dtInicio.time}"/>
</s:link>
</rich:column>
[code]public class AditivoHome extends EntityHome {
public void setAditivoId(AditivoId id) {
setId(id);
}
public AditivoId getAditivoId() {
return (AditivoId) getId();
}
public AditivoHome() {
setAditivoId(new AditivoId());
}
@Override
public boolean isIdDefined() {
if (getAditivoId().getSqAquisicao() == 0)
return false;
if (getAditivoId().getDtInicio() == null)
return false;
return true;
}
@Override
protected Aditivo createInstance() {
Aditivo aditivo = new Aditivo();
aditivo.setId(new AditivoId());
return aditivo;
}
public void load() {
if (isIdDefined()) {
wire();
}
}
public void wire() {
getInstance();
}
public boolean isWired() {
return true;
}
public Aditivo getDefinedInstance() {
return isIdDefined() ? getInstance() : null;
}[/code]
A classe AditivoId é uma classe básica. Com um construtor e métodos hashCode() e equals().
Grato.