How to update multiple tables in hibernate?
hibernate, java, mysql, sql
Solution
Converting an update statement to HQL would be very similar to converting any SQL statement to HQL. Assuming you have your object mapping set-up correctly already you'd just need to write a correct HQL QUERY. You'll need to use the HQL(HQL Docs) syntax. You replace the table & column names with the object names you have set up.
This:
UPDATE bus_transport.trip_calendar a , bus_transport.trip_resource_allocator b,
bus_transport.vehicle_calendar c , bus_transport.driver_calendar d "
could be come something like this:
UPDATE TripCalendar a , TripResourceAllocator b,
VehicleCalendar c , DriverCalendar d "
You reference columns in a similar fashion
This:
SET c.vehicle_status_code='Available'
Could become something like this:
SET c.vehicleStatusCode = 'Available'
For more on the Hiberate DML specific stuff check out this link: HQL DML Docs
Problem
I am having mySql query and need to transfer it in to hibernate query. I have transferred simple queries into hibernate. But its difficult for me to convert "UPDATE" query. Below is the MySql query, ``` 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); ``` Please help me to convert into Hibernate Update query. Thanks in advance.