Débora
Débora

Reputation: 5952

Hibernate criteria results

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

Answers (2)

Satya
Satya

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

Jon Skeet
Jon Skeet

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

Related Questions