Вопрос: Я каким-то образом могу сопоставить два поля моего класса Entity только с одним столбцом в базе данных?Сопоставьте два поля в одной колонке базы данных
Сценарий: База данных не полностью нормализована. Существует один столбец, который содержит составную информацию. Это не мой фактический прецедент, но приемлемым примером может быть X- и Y-координата точки на плоскости. Таким образом, база данных может содержать строку 12:45
, а класс Entity должен содержать только два целочисленных поля x
значение ширины 12
и y
со значением 45
.
В настоящее время класс Entity имеет только два дополнительных приемника и сеттера для x и y и выполняет правильный перевод. Но мне интересно, есть ли способ позволить JPA сделать это для меня волшебным образом в фоновом режиме.
Я уже работаю с пользовательскими классами преобразователей, например. для правильного сопоставления между перечислениями и столбцами базы данных, но это работает только для сопоставления «один к одному» между полем класса Entity и столбцом в базе данных.
Конечно, это был бы самый предпочтительный способ переделать таблицу в базе данных, но на данный момент это не вариант.
Решения, специфичные для поставщиков, также прекрасны.
Никогда не слышал об этом, но что я могу знать, я Джон Сноу. – Antoniossss