Ответы пользователя по тегу Spring
  • Нужен ли дополнительную объект между сущностью и JSON объектам?

    @sirs
    Нужен. DTO объекты с конвертацией в сервисе из того, что принимает/понимает контроллеры в то, что принимают/понимают dao или repository.

    Вопрос обсуждался здесь не один раз, смотрите например тут
    Ответ написан
    Комментировать
  • Каким образом связать spring и ajax?

    @sirs
    В spring mvc вернуть статус можно несколькими путями, если статус нужно возвращать один и тот все время, то подходит аннотация @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR), просто повесить на метод в контроллере.
    В Вашем случае такой вариант не подходит (если я верно понимаю). Вам нужно сделать так:

    public ResponseEntity<?> userNumberOperationsDelete(HttpServletRequest req, HttpServletResponse resp, Locale locale, Model model,
                                                 @RequestParam(value = "number") String number,
                                                 @RequestParam(value = "status") String status) {
    ...
     } else {
                    return new ResponseEntity<>(errorMessage, HttpStatus.INTERNAL_SERVER_ERROR);
                }
            }
        return new ResponseEntity<>(HttpStatus.OK);
    }


    Не знаю, где Вы нашли статус 530, но spring его не знает и я Вам очень не советую использовать кастомные статусы, когда работаете с фреймворками. Возьмите INTERNAL_SERVER_ERROR статус.
    Ответ написан
    3 комментария
  • Почему Hibernate пытается создать сущность с нулевым id?

    @sirs
    Если у Вас mysql, то я бы порекомендовал сделать так:

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "contract_id")
        private int contractId;

    т.е. поменять strategy на IDENTITY.

    И в таблице 'Contract' в базе добавить AUTO_INCREMENT PRIMARY KEY, чтобы mysql сам генерил ключи.
    Ответ написан
    1 комментарий
  • Как скрыть переменную в jstl?

    @sirs
    Тут есть разные варианты, например
    1) засунуть в
    <input type="hidden" name="tariffId" value="${tempId.add(tariff.tariffId)}">

    или
    2) засунуть это в
    <script>
    var tariffID = "${tempId.add(tariff.tariffId)}";
    </script>

    Если у Вас for-each - возмите array или какой-нибудь объект key-value в js, т.е.
    <script>
    var array = new Array();
    <c:forEach var="tariff" items="${allTariffs}" varStatus="loop">
                                        array.push('${tempId.add(tariff.tariffId)}');
                                       </c:forEach>
    </script>
    Ответ написан
    1 комментарий
  • Как передать дату с jsp страницы через Spring в базу данных MySQL?

    @sirs
    Насколько я понимаю Ваша проблема связана с тем, что Вы используете java.util.Date и пытаетесь его сохранить в mysql. Есть несколько вариантов решения:
    1) В классе Client поменять тип поля на java.sql.Date и где-нибудь перед сохранением в бд делать конвертацию
    java.sql.Date birthDate= new java.sql.Date((birthDateInput).getTime());


    2) Добавить аннотацию @Temporal
    @Temporal(TemporalType.DATE)
    private Date birthDate;

    в классе Client.

    3) Собрать дату как string
    java.text.SimpleDateFormat sdf = 
         new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String birthDateTime = sdf.format(birthDateInput);

    и сохранить в базу. Минус будет в том, что при select нужно будет делать обратные действия.
    Ответ написан
    1 комментарий