Como montar o seguinte criterio no hibernate
SELECT * FROM DADO
WHERE DATA LIKE ‘25/06/07’ AND PARAMETRO = 3
Como montar o seguinte criterio no hibernate
SELECT * FROM DADO
WHERE DATA LIKE ‘25/06/07’ AND PARAMETRO = 3
sess.createCriteria( BLABLABLA.class ).add( Restrictions.like( "DATA", "25/06/07" ) ).add( Restrictions.eq( "ID_BLABLABLA_PARAMETRO", 3 ) ).list();
Não ajudou, né?
vlw LIPE mas não funcionou ele não da erro so que ele não traz resultado algum.
Esse ID_PARAMETRO e a DATA são chaves compostas da tabela DADO
eu mapei o xml assim:
[code]
<class
name=""
table="DADO"
>
<composite-id>
<key-property name="data" type="java.util.Date" column="DATA"/>
<key-many-to-one name="parametro" class=" column="ID_PARAMETRO"/>
</composite-id>
<property
name="valor"
type="java.lang.String"
column="VALOR"
not-null="true"
length="255"
/>
</class>
[/code]
Testou essa condição em uma linha de comando SQL para ver se isso funciona? Isso parece meio suspeito. (Não sei que banco você está usando, então não posso dizer que ferramentas você tem de usar para testar).
coloca o objeto Date direto na Criteria
troque
Restrictions.like( "DATA", "25/06/07" ) ).add( Restrictions.eq
por
Restrictions.like( "DATA", minhadata) ).add.....
sendo que minhadata é seu objeto Date
talvez por causa disso
<key-property name="data" type="java.util.Date" column="DATA"/>
Vlw pessoal :!: So vou poder testar amanhã de qualquer maneira obrigado :!:
pessoal não deu certo estou postando o código pra ver se tem alguma coisa errado
public List get(Date data, Parametro parametro) {
Criteria criteria = session.createCriteria(Dado.class);
return criteria.add( Restrictions.like( "data", data ) ).add( Restrictions.eq( "parametro", parametro ) ).list();
}
pessoal resolvi o código ficou assim
Criteria criteria = session.createCriteria(Dado.class);
return criteria.add( Restrictions.sqlRestriction("to_date(DATA,'DD/MM/YY') = ?", data, Hibernate.DATE ) ).add( Restrictions.eq( "parametro", parametro ) ).list();
estou com um problema muito parecido…
tenho que pegar os minutos também…
estou tentando criteria.add(Restrictions.sqlRestriction("dtAbertura(DATA,'YYYY-MM-DD HH.MM.SS') = ?", data, Hibernate.DATE ));
e ele esta gerando:
where
dtAbertura(DATA,‘YYYY-MM-DD HH.MM.SS’) = ?
alguém poderia da uma força