Type words; every word must appear in the name, code, brand, model, serial, location or description.
Each word becomes one WHERE clause with LIKE '%word%' over several columns. Words are ANDed. Wildcards typed by the user (% _ [) are escaped, and values are sent as parameters, never glued into the SQL.
search/SearchSqlBuilder.java → keyword()WHERE (a.name LIKE :p1 ESCAPE '\' OR a.description LIKE :p1 ESCAPE '\' OR ...) AND (a.name LIKE :p2 ESCAPE '\' OR ...)