Ответы пользователя по тегу Hibernate
  • Spring MVC, как необходимо обрабатывать формы с датой?

    EugeneP2
    @EugeneP2
    Java Dev
    Я так понял, вы сделали ввод даты в виде 3-полей... Обычно, делают одно поле и на это поле вешать js либу для вода дат, например JQuery Datepicker, а в контроллере делают все, что написал azerphoenix выше
    Ответ написан
    Комментировать
  • Как в jsp привязать удалить определенный элемент из таблицы?

    EugeneP2
    @EugeneP2
    Java Dev
    1. JSP скриплеты - это очень плохой тон и не рекомендуется делать.

    Это нужно делать в сервлете (не в jsp)
    ContractServiceImpl contractService = new ContractServiceImpl();
         List<Contract> contracts = contractService.getAllContractsForUser(user.getUserId());


    потом contracts передавать в jsp через атрибут реквеста

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         ContractServiceImpl contractService = new ContractServiceImpl();
         List<Contract> contracts = contractService.getAllContractsForUser(user.getUserId());
    
       request.setAttribute("contracts",contracts);
       RequestDispatcher requestDispatcher; 
       requestDispatcher = request.getRequestDispatcher("/you_jsp_page.jsp");
      requestDispatcher.forward(request, response);
    }


    и потом уже на стороне JSP с помощью JSTL выводить данные
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <hmtl>
    ...
    <body>
    <table>
    <c:forEach items="${contracts}" var="contr">
    <tr>
       <td>${contr.name}</td>
       <td>${contr.number}</td>
    
      ....
    </tr>
    </c:forEach>
    </table>
    </body>
    </hmtl>


    2. Если пока не хотите заморачиваться с JavaScript-ом и AJAX-ом, то есть более простой вариант с формой.

    а) у сущности Contract должен быть уникальный id, по которому вы могли бы удалить/выбрать/изменить его.

    б) в JSP вашу таблицу в тег и добавьте еще один столбец с чекбоксом, у которого в качестве value будит id Contract-а. Добавить кнопку "Удалить выбранное".

    <form method="post" action="ваш сервлет">
    <input type="submit" value="Удалить выбранное"/>
    <table>
    <c:forEach items="${contracts}" var="contr">
    <tr>
       <td><input type="checkbox" name="id" value="${contr.id}"/></td>
       <td>${contr.name}</td>
       <td>${contr.number}</td>
    
      ....
    </tr>
    </c:forEach>
    </table>
    </form>


    с) Реализовать в вашем сервлете метод обработки пост запросов где получите из реквеста выбранные Id и выполните удаление.

    @Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    
    		String[] ids = req.getParameterValues("id");
    
    		if (ids != null && ids.length > 0) {
    			ContractServiceImpl contractService = new ContractServiceImpl();
    			contractService.removeAll(ids);
    		}
    
    		doGet(req, resp); 
    	}


    doGet(req, resp); - метод реализован выше. Произойдет новая выборка контрактов, только уже без удаленных и передастся в JPS. Обновится страница
    Ответ написан
    Комментировать
  • Как сгенирировать первичный ключ в jpa?

    EugeneP2
    @EugeneP2
    Java Dev
    @GeneratedValue(strategy = GenerationType.IDENTITY)


    или вот 1 или 2
    Ответ написан
    Комментировать
  • Откуда можно достать java проекты с ипользованием Spring Data,Hibernate,HTML,CSS,JSP,Maven?

    EugeneP2
    @EugeneP2
    Java Dev
    Например через поиск на GitHub. Конечно придется немного порыться, но тем не менее...
    Ответ написан
    2 комментария
  • Что почитать про JPA Hibernate?

    EugeneP2
    @EugeneP2
    Java Dev
    Про JPA на русском можно почитать в книги Изучаем Java EE 7. Там 3 главы, в принципе не плохо.

    На английском языке Pro JPA 2

    Хороший набор уроков, на английском Hibernate and Java Persistence API (JPA) Fundamentals


    + конечно документация hibernate
    Ответ написан
    2 комментария