Как добавить дочернюю сущность без родителя в двунаправленных отношениях OneToOne

Вы не можете применить регулярное выражение к списку. Вы могли бы перевести список в строку с помощью str, а , затем применить регулярное выражение, но вы, вероятно, не должны. *)

Intead, Я предлагаю рекурсивную функцию для сглаживания списка, а также итерацию как ключей, так и значений в любых вложенных словарях и рекурсивное обращение к любым вложенным спискам, наборам, кортежам или диктофонам.

def unpack(seq):
    if isinstance(seq, (list, tuple, set)):
        yield from (x for y in seq for x in unpack(y))
    elif isinstance(seq, dict):
        yield from (x for item in seq.items() for y in item for x in unpack(y))
    else:
        yield seq

lst = [None, [1, ({2, 3}, {'foo': 'bar'})]]
print(list(unpack(lst)))
# [None, 1, 2, 3, 'foo', 'bar']

Обновление: Для Python 2.x замените yield from (...) на for x in (...): yield x или непосредственно return списками вместо использования генератора для элементов yield:

def unpack(seq):
    if isinstance(seq, (list, tuple, set)):
        return [x for y in seq for x in unpack(y)]
    elif isinstance(seq, dict):
        return [x for item in seq.items() for y in item for x in unpack(y)]
    else:
        return [seq]

*) Поскольку вы спросил: что, если числа содержат точку, или строки содержат ... ну, что-нибудь? Кроме того, вам нужно будет воссоздать реальные объекты с их соответствующим типом (например, int) из согласованных строк. И что если список содержит объекты, отличные от строк или чисел, которые не могут быть легко воссозданы из их строкового представления?

0
задан Robert Maciączyk 19 January 2019 в 18:55
поделиться

1 ответ

Удалите @MapsId из GroupEntity

По умолчанию объекты отображаются по идентификаторам. Ваш GroupEntity должен выглядеть так.

public class GroupEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(nullable = false, unique = true)
    private String name;

    @OneToMany(mappedBy = "group")
    private List<ChildEntity> children;

    //FK z tablicy users
    @OneToOne
    UserEntity user;

    .
    .
    .
}
0
ответ дан drkunibar 19 January 2019 в 18:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: