如何执行now()查询(MYSQL)?

时间:2015-05-06 06:01:58

标签: java mysql hibernate

String query = ("insert into complaint(name,issue,whenadded)  
                VALUES('$name','$issue',now())" );

这是我的查询。我正在使用 strut-hibernate 。如何执行上述查询?

2 个答案:

答案 0 :(得分:1)

从你的问题中告诉你,你是非常 Hibernate的新手。 Hibernate将自动插入在当前会话期间已修改的任何实体对象。因此,要在Hibernate中执行INSERT,您可以创建Complaint POJO,分配所需的三个字段,然后保存会话。

Complaint complaint = new Complaint();
stockTran.setName("A complaint");
stockTran.setIssue("Hibernate SO question");
stockTran.setWhenAdded(new Date());

session.save(complaint);

答案 1 :(得分:0)

使用Hibernate可以保存整个对象,不需要将插入到xyz值(x,x)查询中。如果你使用它,那么Hibernate就毫无价值。但您必须通过XML或注释配置对POJO(投诉)进行表映射。

你应该写下这段代码:

Session session = sessionFactory.openSession();

Complaint complaintObject = new Complaint();
complaintObject.setName(<Name_of_complaint>);
complaintObject.setIssue(<issue_detail>);
complaintObject.setWhenAdded(new Date());

session.beginTransaction();
session.save(complaint);
session.getTransaction().commit();

关于时区问题:

public static Date convertLocalToISTTimezone( Date localDate )
    {
        Date datetoReturn = null;
        try
        {
            setLog("*%" + "On " + new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new Date()) + " GMT **** ENTER  :" + localDate);

            TimeZone timezone = TimeZone.getTimeZone('<set_timezone_where _your server_will_be>');

            SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");

            sdf.setTimeZone(timezone);

            SimpleDateFormat sdfgmt = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");

            TimeZone gmtTimeZone = TimeZone.getTimeZone("GMT+05:30");
            sdfgmt.setTimeZone(gmtTimeZone);

            SimpleDateFormat dateFormatLocal = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
            datetoReturn = dateFormatLocal.parse(sdfgmt.format(sdf.parse(sdf.format(localDate))));

            setLog("*%" + "On " + new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new Date()) + " GMT **** EXIT :" + datetoReturn);

        }
        catch ( ParseException e )
        {
            e.printStackTrace();
        }
        return datetoReturn;
    }