Nel tuo modello , l'oggetto ha 8 proprietà booleane. Ciò implica 8 colonne booleane (TINYINT per MySQL) nella tabella del database e 8 metodi getter/setter nel tuo oggetto. Semplice e convenzionale.
Ripensa al tuo approccio attuale. Immagina cosa dirà il prossimo ragazzo che deve mantenere questa cosa.
CREATE TABLE mytable (myfield BIT(8));
OK, sembra che qui ci saranno dei dati binari.
INSERT INTO mytable VALUES (b'00101000');
Aspetta, qualcuno mi dica di nuovo cosa rappresentano ciascuno di questi 1 e 0.
SELECT * FROM mytable;
+------------+
| mybitfield |
+------------+
| ( |
+------------+
Cosa?
SELECT * FROM mytable WHERE myfield & b'00101000' = b'00100000';
WTF!? WTF!?
si pugnala in faccia
-- nel frattempo, in un universo alternativo in cui le fate giocano con gli unicorni e i programmatori non odiano i DBA... --
SELECT * FROM mytable WHERE field3 = 1 AND field5 = 0;
Felicità e sole!