0
我爲我的移動客戶端做了一個REST服務器。我正在使用hibernate進行數據庫訪問。但我似乎有一些問題,此代碼休眠nullPointerException
public PlacesAssociation getPlacesAssocitionById(String id) {
session = HibernateUtil.getSessionFactory().getCurrentSession();
PlacesAssociation placesAssociation=null;
try {
session.beginTransaction();
placesAssociation = (PlacesAssociation) session.get(
PlacesAssociation.class, id);
session.getTransaction().commit();
} catch (RuntimeException e) {
session.getTransaction().rollback();
e.printStackTrace();
}
return placesAssociation;
}
我已經被解僱查詢哪裏我得到的結果,但在這裏我得到的NullPointerException手動某個時候出現在我的數據庫。由於這個問題是偶爾它變得非常難以追蹤它
任何人都可以幫助我解決這個問題
這是調用代碼
public Response getSpecificRide(@PathParam("id") String id) {
// TODO Hibernate for a specific ride identified by the ride id.
try {
System.out.println("Get Specific Ride " + id);
Ride ride = rideRepository.getRideById(Long.parseLong(id));
RideDetailWrapper rideDetailWrapper = new RideDetailWrapper();
PlacesAssociation placesAssociationFrom = placesAssociationRepository.getPlacesAssocitionById(ride.getFromId());
PlacesAssociation placesAssociationTo = placesAssociationRepository.getPlacesAssocitionById(ride.getToId());
rideDetailWrapper.setId(ride.getId());
rideDetailWrapper.setInterval(ride.getInterval());
rideDetailWrapper.setSeatsAvailable(ride.getSeatsAvailable());
rideDetailWrapper.setTime(ride.getTime());
rideDetailWrapper.setFromAddress(placesAssociationFrom.getName());
rideDetailWrapper.setFromVicinity(placesAssociationFrom.getVicinity());
rideDetailWrapper.setToAddress(placesAssociationTo.getName());
rideDetailWrapper.setToVicinity(placesAssociationTo.getVicinity());
rideDetailWrapper.setVehicleType(ride.getVehicleType());
for (User user : ride.getUsers()) {
UserDetail userDetail = userRepository.getUserDetailByRegistrationId(user.getRegistrationId());
UserDetailWrapper userDetailWrapper = new UserDetailWrapper();
userDetailWrapper.setRegistrationId(userDetail.getRegistrationId());
userDetailWrapper.setAge(userDetail.getAge());
userDetailWrapper.setFirstName(userDetail.getFirstName());
userDetailWrapper.setLastName(userDetail.getLastName());
userDetailWrapper.setSex(userDetail.getSex());
List<UserDetailWrapper> userDetailWrappers = rideDetailWrapper.getUserDetailWrappers();
userDetailWrappers.add(userDetailWrapper);
rideDetailWrapper.setUserDetailWrappers(userDetailWrappers);
}
return Response.ok(rideDetailWrapper).build();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Problem with Get Specific Ride");
return Response.serverError().build();
}
}
我在這一行rideDetailWrapper得到錯誤.setFromAddress(placesAssociationFrom.getName());如果需要的話
什麼線是'NPE'上? –
我已經添加了現在可以看到的調用代碼 – user1827423