Java » Свзять OneToMany(fetch=Lazy) по массиву

Возможно ли это сделать связть OneToMany(fetch=Lazy) по массиву данных?

в таблице Path.categoryIds хранятся Place.id записанные в string, при помощи @Converter это страка конвертируется в массив int.

Задача состоит в том, чтобы изпользуя int[] placeIds заполнить List places.

Возможно ли это сделать используя связь OneToMany(fetch=Lazy)?

Place
- int id
- String name

Path
- int id
- String place_ids  (перечисленные Place.id)


@Entity
@Table(name="place")
public class Place {
    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    private int id;

    private String name;
}

@Entity
@Table(name="path")
public class Path {
    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    private int id;


    @Column(name="category_ids")
    @Convert(converter = PlaceIdsConverter.class) // "1,2,3" -> [1,2,3]
    private int[] placeIds;

    @OneToMany(fetch = FetchType.LAZY) // ???, заполнить используй данные из placeIds
    private List<Place> places;
}


Вариант с созданием связывающей таблицы для ManyToMany увы неподходит, так как данные в Path.placeIds надо хратить именно в таком формате по другим причинам.
no image

Аноним

17 ноября, 10:30
226

Нет комментариев

Добавить комментарий
Вы не можете оставлять комментарии. Чтобы добавить комментарий, залогиньтесь или зарегистрируйтесь
Вы не можете голосовать. Чтобы проголосовать, залогиньтесь или зарегистрируйтесь

Нет ответов

Вы не можете отвечать на вопросы. Чтобы ответить на вопрос, пожалуйста залогиньтесь или зарегистрируйтесь
Работа в Украине
Вакансии от WORK.ua
Content editor (English)
Киев, NetFix
Middle/Senior C++ Developer
Сумы, PortaOne
Аналитик, 10000 грн.
Днепр, A.Biaggi
Інженер комп'ютерних систем і мереж
Львов, Сокар Энерджи Украина
Junior Support and Maintenance Engineer
Одесса, Sigma Software
Адміністратор баз даних, аналітик
Львов, Концерн Галнафтогаз, мережа АЗК ОККО