SPRING-SOURCE.RU | |
|
|
Что если нам нужно отобразить список объектов? Чем список отличается от коллекции и от наборов в Java? Списки упорядоченный набор данных (get(index)). В Set набор не упорядоченный, но дубликатов там быть не может. Коллекции более гибкий тип данных.
По умолчанию в JPA запросы возвращают List, элементы которого упорядоченны по id базы данных, либо вообще могут быть не упорядочены.
Что если нам нужно хранить индексы? Напримре, у нас есть электронный опросник, вопросы должны находится в строго заданных местах. Когда мы их добавляем в базу, то им присвоятся id, если это так, то вам повезло, а что если они назначаются не последовательно?
Когда мы их вытащим из базы, от они могут быть перепутаны. В данном случае нужно применить структуру данных именно List. В позицию 0 - токой-то объект 1 - другой итд. Вопрос: как их сохранить в базу, чтобы каждый объект был на своей позиции? В JPA нет способа соханения всего этого в базу. Нужно использовать примочку Hibernate.
import org.hibernate.annotations.IndexColumn public class Item { @OneToMany @IndexColumn(name = "BID_POSITION") указывается над списком Bid-ов. Private List<Bid> bids;
Hibernate в классе Bid создаст дополнитульную колонку и назовет ее BID_POSITION и там будет сохранять позиции элемента в списке. По сути, когда все будет доставаться, то сортировка будет по этой колонке, будет получать список, где каждый элемент будет находиться в строго заданной позиции.
Copyright © 2024 |