У меня есть Java-программа, которая использует Hibernate и MySQL для хранения большого количества данных трассировки об использовании Eclipse IDE. Эти данные содержат много строк, таких как имена методов, каталоги, имя перспективы и т. Д.
Например, объект события (который затем отражается в записи) может указывать исходный файл и текущий метод, имя пользователя и т. Д. Очевидно, что строковые данные могут повторяться.
Пока он находится в памяти, большая часть его интернализована, поэтому все повторяющиеся строковые экземпляры указывают на один и тот же объект (я в этом уверен). Однако с @Basic (я использую аннотации) Hibernate отображает его в VARCHAR (255), что означает много потерянного пространства.
Если бы я сам кодировал SQL, я мог бы заменить VARCHAR индексом на таблицу поиска строк с ручным управлением и сэкономить место (за счет дополнительных поисков).
Есть ли способ заставить Hibernate сделать это для меня? Я готов заплатить хит производительности за место.