Dans votre modèle , l'objet a 8 propriétés booléennes. Cela implique 8 colonnes booléennes (TINYINT pour MySQL) dans votre table de base de données et 8 méthodes getter/setter dans votre objet. Simple et conventionnel.
Repensez votre approche actuelle. Imaginez ce que dira le prochain qui devra entretenir cette chose.
CREATE TABLE mytable (myfield BIT(8));
OK, on dirait que nous allons avoir des données binaires ici.
INSERT INTO mytable VALUES (b'00101000');
Attendez, que quelqu'un me redise ce que signifient chacun de ces 1 et 0.
SELECT * FROM mytable;
+------------+
| mybitfield |
+------------+
| ( |
+------------+
Quoi ?
SELECT * FROM mytable WHERE myfield & b'00101000' = b'00100000';
WTF ! ? WTF ! ?
se poignarder au visage
-- pendant ce temps, dans un univers alternatif où les fées jouent avec les licornes et les programmeurs ne détestent pas les DBA... --
SELECT * FROM mytable WHERE field3 = 1 AND field5 = 0;
Bonheur et soleil !