Jeżeli korzystasz NoSQL jak np. MongoDB to array stringów będzie OK, ale zakładam, że masz relacyjną bazę danych.
W takim wypadku będzie to relacja many to many, a nie one to many. Będziesz potrzebował tabeli łączącej, czyli takiej, która zawiera UserId i BookId, jako że użytkownik może czytaćdowolną ilość książek, a książka może zostać czytana przez wielu użytkowników. Dawno nie mialem do czynienia z relacyjnymi bazami danych, ale z tego co pamiętam jest zalecenie by unikać many-to-many i robić to za pomocą one to many, na zasadzie że robisz kolejną encję, która będzie reprezentować czytanie książki i tam masz relacje one to many i do książki i do użytkownika. Dzięki temu będziesz mógł przechowywać w tej encji/tabeli dodatkowe informacje jak np. czas rozpoczęcia czytania książki, ilość przeczytanych stron etc
Chyba że jedna książka może być przypisana tylko do jednego użytkownika - wtedy fakycznie robisz oneToMany, poszukaj tutoriali, ale w skrócie w encji User będziesz miał Set<Book> books, natomiast w encji Book, będziesz miał referencję User user
. W sieci jest pełno poradników jak to upstrokacić adnotacjami i zakładam, że nie o to pytasz