我有 mySql 查询,需要将其传输到 hibernate 查询。我已将简单的查询转移到休眠中。但我很难转换“UPDATE”查询。下面是MySql查询,
StringBuilder query = new StringBuilder();
query.append("UPDATE bus_transport.trip_calendar a ,");
query.append("bus_transport.trip_resource_allocator b,");
query.append("bus_transport.vehicle_calendar c ,");
query.append("bus_transport.driver_calendar d ");
query.append("SET c.vehicle_status_code='Available',");
query.append("a.route_code='" + jsonObjInside.getString("rCode") + "',");
query.append("a.trip_from_date_time='" + finalStartDateTime + "',");
query.append("a.trip_to_date_time='" + finalEndDateTime + "',");
query.append("b.emp_id='" + jsonObjInside.getString("driverId") + "' ,");
query.append("b.vehicle_id='" + jsonObjInside.getString("vehId") + "',");
query.append("c.vehicle_id='" + jsonObjInside.getString("vehId")+ "' ,");
query.append("d.emp_id='" + jsonObjInside.getString("driverId") + "'");
query.append("where a.trip_id='" + jsonObjInside.getString("tripId")+ "'");
query.append(" and b.trip_id='" + jsonObjInside.getString("tripId") + "'");
query.append("and c.trip_id='" + jsonObjInside.getString("tripId")+ "'");
query.append("and d.trip_id='" + jsonObjInside.getString("tripId")+ "' ");
int var = stmt.executeUpdate(query);
请帮我转换为 Hibernate 更新查询。
提前致谢。
将更新语句转换为 HQL 与将任何 SQL 语句转换为 HQL 非常相似。假设您已经正确设置了对象映射,您只需要编写正确的 HQL 查询即可。您需要使用 HQL(HQL Docs http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/queryhql.html) 句法。您可以将表和列名称替换为您设置的对象名称。
This:
UPDATE bus_transport.trip_calendar a , bus_transport.trip_resource_allocator b,
bus_transport.vehicle_calendar c , bus_transport.driver_calendar d "
可能是这样的:
UPDATE TripCalendar a , TripResourceAllocator b,
VehicleCalendar c , DriverCalendar d "
您以类似的方式引用列
This:
SET c.vehicle_status_code='Available'
可能会变成这样:
SET c.vehicleStatusCode = 'Available'
有关 Hiberate DML 特定内容的更多信息,请查看此链接:HQL DML 文档 http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/batch.html#batch-direct
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)