Nano Hash - криптовалюты, майнинг, программирование

Отношение JPA @ManyToMany, @JoinTable и @JoinColumn @OrderBy

ТАБЛИЦА_А

  • ID
  • СОРТИРОВАТЬ

ТАБЛИЦА_B

  • ID

Существует таблица REF с использованием этих таблиц, связанных с ManyToMany.

ТАБЛИЦА_ССЫЛКА

  • A_ID
  • B_ID

Я получаю данные, используя B.getAs()

Я хочу получить поле As OrderBy TABLE_A.SORT. Для этого я пытаюсь добавить OrderBy, однако он не может получить доступ к полю ORDER относительно B или A.

Вот почему я думаю, что если я также могу присоединить поле SORT к таблице REF, я могу использовать параметр @OrderBy(clause="ORDER") в карте отношений B.

Но в течение нескольких часов я не мог найти никаких решений.

Вот коды, которые я использую для отображения:

ТАБЛИЦА_А:

@ManyToMany(fetch=FetchType.EAGER, targetEntity = Role.class, cascade={CascadeType.MERGE, CascadeType.PERSIST})
@Fetch(FetchMode.SUBSELECT)
@JoinTable(name = "NC_ADMIN_ROLE_PAGE_XREF", joinColumns =
        @JoinColumn(name = "PAGE_ID", referencedColumnName = "ID"), 
    inverseJoinColumns = @JoinColumn(name = "ROLE_ID", referencedColumnName = "ID", nullable = true))
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region="ncAdminElements")
@BatchSize(size = 50)
private List<Role> allRoles = new ArrayList<Role>(10);

ТАБЛИЦА_Б:

@Column(name = "NAME")
private String name;
@ManyToMany(fetch=FetchType.EAGER, targetEntity = Page.class, cascade={CascadeType.MERGE, CascadeType.PERSIST})
@Fetch(FetchMode.SUBSELECT)
@JoinTable(name = "NC_ADMIN_ROLE_PAGE_XREF", joinColumns = @JoinColumn(name = "ROLE_ID", referencedColumnName = "ID"), 
    inverseJoinColumns = @JoinColumn(name = "PAGE_ID", referencedColumnName = "ID", nullable = true))
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region="ncAdminElements")
@BatchSize(size = 50)
private List<Page> allPages = new ArrayList<Page>(10);

Что я точно хочу, TABLE_B.getAllPages(), упорядоченный TABLE_A.DISPLAY_ORDER

Мне подойдет любой хорошо сделанный источник про MAPPING RELATIONS в hibernate для чайников.


  • Боюсь, вы не сможете этого сделать. См. stackoverflow.com/questions/3002135/ 30.04.2013
  • @kirlisakal у тебя есть решение? 09.01.2014
  • извините, это было давно, и я даже не помню, так как я больше не работаю в этом проекте. 16.01.2014

Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..