Оба первичны. Надо проектировать сущности и базу одновременно. Ибо именно с сущностями вам работать в коде, так что они должны быть удобны; но и над представлением их в БД тоже надо думать, чтобы не получилось неэффективное решение.
Лично я сначала описываю сущности в коде, потом запускаю по ним автогенератор схемы БД и проверяю результат. Если меня всё устраивает - OK, если нет, правлю сущности, подпиливаю аннотации и повторяю процесс.