I'm using Room as the database for the app. I have a scenario where an Object
of a certain type needs to be stored in separate tables. As an example, lets take the Object
called Book.java
Now, I want to have two SQL tables:
- Books_Read
- Books_To_Read
ignore any naming conventions for SQL DB please - this is just an example
Problem
Normally, one would just use @Entity(tableName = "Books_Read")
in the Book.java
class and have a DAO
class that will use that table name.
The thing is; how would I then be able to use the same Book.java
class to store in the Books_To_Read
table? Since I already defined @Entity(tableName = "Books_Read")
as part of the Book.java
class and I see no where to define the Books_To_Read
table for the Book.java
class
The only solution I was able to come up with, which seems a little hackery and unnessasery, was to create a new class - let's call it BookToRead.java
that extends Book.java
and define @Entity(tableName = "Books_To_Read")
in the class.
Question
Is there a better way to do this or is this the expected way to handle it?