0

试图弄清楚如何使用 wavemaker 来运行 hql 查询。我对java没有太多经验,但我希望能够编写一个查询并通过java代码运行它。要做到这一点,我应该使用 java 服务吗?如果没有,那怎么办?

我看过这段代码:

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();

Query query = session.createQuery("select and so on..");
// set parameter values, e.g.
// query.setString("name", "Matthias");
List result = query.list();

tx.commit();
session.close();

有人可以解释一下会话和事务之类的类,以便我理解这个过程吗?如何显示结果列表,它是否在我的数据库中更新?

4

2 回答 2

0

您可以使用此示例代码

import com.wavemaker.runtime.RuntimeAccess;

import org.hibernate.Session;
import org.hibernate.SQLQuery;
import java.util.List;
import java.util.ArrayList;

import com.yourDBService.yourDB;

public class dbutil extends com.wavemaker.runtime.javaservice.JavaServiceSuperClass {
    /* Pass in one of FATAL, ERROR, WARN,  INFO and DEBUG to modify your log level;
     *  recommend changing this to FATAL or ERROR before deploying.  For info on these levels, look for tomcat/log4j documentation
     */
    public dbutil() {
       super(INFO);
    }

 public void updateStatus(String transactionId, String status) {

        String sQuery = "";
        try {
            service.begin();
            Session session = service.getDataServiceManager().getSession();
            sQuery = "update dbo.ORDERS_TEST set status='" + status + "' where transaction_id = " + transactionId;
            System.out.println(">>>> Check the query string >>>>#" + sQuery + "#");
            SQLQuery query = session.createSQLQuery(sQuery);

            query.executeUpdate();

            service.commit();
        }
        catch (Exception ex) {
            service.rollback();
        }
    }
}
于 2014-04-23T21:08:42.027 回答
0

您可以使用wavemaker“com.wavemaker.runtime.RuntimeAccess”的服务会话,并使用它可以进行所有操作...请在wavemaker网站上阅读以获得简要知识

于 2015-01-15T06:42:35.597 回答