Я хочу сохранить List<String>
в DB постгерра.Как сохранить строковые списки в базе данных без таблицы соединений?
@ElementCollection
private List<String> products;
поэтому Hibernate создаст присоединиться таблицы. Можно ли это предотвратить?
Один из способов было бы создать явный класс двунаправленного отображения следующим образом:
@Entity
public class MainEntity {
@OneToMany(mappedBy = "main")
private List<Product> products;
}
@Entity
public class Product {
@Id
private long id;
@ManyToOne
private MainEntity main;
private String text;
}
Но я чувствую, что это немного поверх всего за сохранение списка строк, не так ли?
Ваш * обходной путь * - это правильный путь, продукт - это объект с большим количеством свойств, чем только * текст *, который вы, возможно, захотите сохранить в какой-то момент. Таким образом, он может быть реализован как объект. Пожалуйста, держите свой код в чистоте и не ходите с хаками, например, с раздельными запятыми + обратными вызовами adler, это скорее всего сэкономит вам некоторые головные боли миграции. Вам не нужно делать его двунаправленным. – A4L
Я просто использовал * продукт * в качестве примера. По объекту realworld должен и будет содержать только простой список текстовых строк, и вы не станете устанавливать дополнительные поля! – membersound