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
332

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

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

Нет ответов

Вы не можете отвечать на вопросы. Чтобы ответить на вопрос, пожалуйста залогиньтесь или зарегистрируйтесь
Работа в Украине
Вакансии от WORK.ua
PHP-программист в Николаев
Запорожье, УкрТех-Инфо
Java developer (strong middle/senior)
Винница, MemCrab studio
Project Manager
Николаев (Николаевская обл.), MobiDev
C# программист (моб. приложения)
Мариуполь, УкрТех-Инфо
Moderator, Content Manager
Харьков, Opinion Corporation
Innovation Manager
Киев, Київстар