Tips for using hql placeholders in hibernate

Source: Internet
Author: User

We all know that you can use it in HQL. OR: * * * the way to configure query parameters externally, such as:

Query query=session.createquery ("from Teststu s where S.team=:team and S.age>:age"); Or

Query query=session.createquery ("from Teststu s where s.team=?") and S.age>?);

The meaning of this sentence is to remove the Teststu collection from a persistent team object, and to filter out records of age greater than the execution data

We can set the parameters like this
Query.setparameter ("Team", Team,hibernate.entity (Testteam.class));
or use Query.setentity ("Team", team);
Query.setparameter ("Age", 15);

But we must not appear again in the HQL. The variable placeholder appears, i.e.

Query query=session.createquery ("from Teststu s where s.team=?") and S.age>:age);

In this way, when setting the parameters, an exception will appear as follows:

Cannot define positional parameter after any named parameters has been defined [from Search.filter.TestStu s where s.team =:team and S.age>?]

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.