Skip to content

Instantly share code, notes, and snippets.

@cdwijayarathna
Created May 1, 2020 09:51
Show Gist options
  • Save cdwijayarathna/bf412c6e4325ba09d95c664a081fdab6 to your computer and use it in GitHub Desktop.
Save cdwijayarathna/bf412c6e4325ba09d95c664a081fdab6 to your computer and use it in GitHub Desktop.
public static Query getUpdateSellerAdvertisementQuery(SellerAdvertisementDTO sellerAdvertisementDTO, String adId,
EntityManager entityManager) {
StringBuilder queryBuilder = new StringBuilder("UPDATE SellerAdvertisement s SET ");
Map<String, Object> parameterValues = new HashMap<>();
if (sellerAdvertisementDTO.getUserId() != null) {
queryBuilder.append("s.userId = :userId ");
parameterValues.put("userId", sellerAdvertisementDTO.getUserId());
}
if (sellerAdvertisementDTO.getItemId() != null) {
queryBuilder.append("s.itemId = :itemId ");
parameterValues.put("itemId", sellerAdvertisementDTO.getItemId());
}
if (sellerAdvertisementDTO.getItemQuantity() >0) {
queryBuilder.append("s.itemQuantity = :itemQuantity ");
parameterValues.put("itemQuantity", sellerAdvertisementDTO.getItemQuantity());
}
if (sellerAdvertisementDTO.getMeasurementUnit() != null) {
queryBuilder.append("s.measurementUnit = :measurementUnit ");
parameterValues.put("measurementUnit", sellerAdvertisementDTO.getMeasurementUnit());
}
if (sellerAdvertisementDTO.getUnitPrice() >0) {
queryBuilder.append("s.unitPrice = :unitPrice ");
parameterValues.put("unitPrice", sellerAdvertisementDTO.getUnitPrice());
}
if (sellerAdvertisementDTO.getCurrency() != null) {
queryBuilder.append("s.currency = :currency ");
parameterValues.put("currency", sellerAdvertisementDTO.getCurrency());
}
if (sellerAdvertisementDTO.getDescription() != null) {
queryBuilder.append("s.description = :description ");
parameterValues.put("description", sellerAdvertisementDTO.getDescription());
}
if (sellerAdvertisementDTO.getCurrent() != null) {
queryBuilder.append("s.isCurrent = :isCurrent ");
parameterValues.put("isCurrent", sellerAdvertisementDTO.getCurrent());
}
if (sellerAdvertisementDTO.getExpiringDate() != null) {
queryBuilder.append("s.expiringDate = :expiringDate");
parameterValues.put("expiringDate", sellerAdvertisementDTO.getExpiringDate());
}
queryBuilder.append("s.lastUpdated = :lastUpdated ");
parameterValues.put("lastUpdated", new Timestamp(System.currentTimeMillis()));
queryBuilder.append("WHERE s.adId = :adId");
parameterValues.put("adId", adId);
Query query = entityManager.createQuery(queryBuilder.toString());
parameterValues.forEach(query::setParameter);
return query;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment