хотите заменить categoryId на имя категории

1

У меня есть две таблицы в базе данных

таблицу категорий, которые содержат (categoryId, categoryName)

таблицу продуктов, которая содержит (productId, productName, price, categoryId)

У меня есть таблица извлечения продукта в JSP странице, как это, но я хочу, чтобы заменить categoryId с category name

  <c:forEach items="${products}" var="product">
   <tr>
      <td>${p.productName}</td>
      <td>${p.price}</td>
      <td>${p.categoryId}</td>    // want to replace categoryId with category name here
      </tr>
  <c:forEach>
  • 0
    показать вашу сущность, внутри сущности Product это просто Long categoryId или ссылка на category class
  • 1
    Получить имя категории из категории ID и отобразить его, здесь нет проблем.
Показать ещё 4 комментария
Теги:
jsp
hibernate

1 ответ

1

У вас должно быть двунаправленное отношение @OneToMany между вашими Category и объектами Product.

Как только вы загрузите все Category Product's эта Category также будет загружена, если вы установите для стратегии выборки JOIN. Теперь, если вы передаете свои продукты в jsp, вы можете получить доступ к названию категории следующим образом:

${p.category.categoryName}
  • 0
    У меня нет отношений, я просто добавляю Длинную категорию в таблицу товаров
  • 0
    В этом случае вы не используете Hibernate должным образом, поскольку по вашему вопросу сущности категории и продукта связаны друг с другом. Если вы не хотите поддерживать отношения, то вам нужно обработать их самостоятельно, например, получить имя категории для данного идентификатора категории, а затем создать карту, которая принимает идентификатор категории в качестве ключа и имя категории в качестве значения. Затем вы можете получить карту в JSP и получить имя категории из карты для данного идентификатора категории.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню