@Inheritance

Essa anotação terá um atributo chamado strategy. Quando vamos implementar uma herança em um banco de dados relacional, precisamos decidir:

Opção 1

Se vamos implementar os tipos diferentes em uma tabela só (um tabelão). Neste caso, quando tivermos um tipo e não tiver o outro colocaremos "null".

Por exemplo, vamos instanciar um Task. Os atributos textContent e videoUri estarão null.

Opção 2

Outra estratégia é criar UMA TABELA PARA CADA ENTIDADE e depois relacioná-las com chave estrangeira (essa é ideal quando se tem muitos campos que possivelmente ficarão null).

Adotaremos a opção 2!

⬇️ Assim, criará as três tabelas! LEMBRANDO, as outras duas entidades estão dando extend na Lesson, visto que ela é abstract.

Atualizado