Reputation: 5952
I think this is a very simple question. but unfortunately I cannot find a solution.
I have a mysql database table called "Invoice" having "inv_No","inv_netvalue","inv_date" inv_No is the primary key. I want to get a Invoice object according to a given inv_No. I used a critaria. But this result nothing. list.size()
is 0.
Invoice invoice = new Invoice();
invoice.setInvNo(Integer.parseInt(invoiceNo));
Session session = HSession.getSession();
Criteria crit = session.createCriteria(Invoice.class);
crit.add(Example.create(invoice));
List list=crit.list();
but when I used this "FROM Invoice invoice WHERE invoice.invNo='" + invoiceNo + "'"
it returns which I expected.
Any one help me please.Let me know where I am wrong..
Upvotes: 0
Views: 957
Reputation: 8346
Criteria criteria = session.createCriteria(Invoice.class);
criteria.add.(Restrictions.eq("invNo", Integer.parseInt(invoiceNo)));
is the best way to get the results.
Upvotes: 0
Reputation: 1500525
It's not clear to me why you've got the second createCriteria call. Have you tried this?
Criteria crit = session.createCriteria(Invoice.class);
crit.add(Example.create(invoice));
That follows some of the examples in the docs, for example.
EDIT: Another option is not to use "query by example" but just:
Criteria crit = session.createCriteria(Invoice.class);
crit.add.(Restrictions.eq("invNo", Integer.parseInt(invoiceNo)));
Upvotes: 5