String query = ("insert into complaint(name,issue,whenadded)
VALUES('$name','$issue',now())" );
这是我的查询。我正在使用 strut-hibernate 。如何执行上述查询?
答案 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;
}