HQL hibernate persistence

Então quero trazer uma consulta que mostre somente os itens de um determinada Compra.

List a = (SistemaDao.listarSql(“select i from ItensOrdem i join i.idOrdem as ord where ord.id=”+o));

onde o = a ordem;

estou comparando a ordem , selecionar todos os registro de itensordem onde o id da ordem = ao objeto ordem carregado.

ERRO GERADO:

line 1:77 mismatched character ’ ’ expecting set ‘0’…'9’
java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing the query [select i from ItensOrdem i join i.idOrdem as ord where ord.id=1 - 01/01/2011- R$1.0], line 1, column 66: unexpected token [01].
Internal Exception: NoViableAltException(113@[829:1: arithmeticFactor returns [Object node] : (p= PLUS n= arithmeticPrimary | m= MINUS n= arithmeticPrimary | n= arithmeticPrimary );])
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1477)

classe

@JoinColumn(name = “id_ordem”, referencedColumnName = “id”)
@ManyToOne
private Ordem idOrdem;

ja consegui se alguem quiser fala ai.

a solucao estava em fazer uma namedquery