2012-05-30 2 views
0

У меня есть приложение, которое было сопоставлено с помощью полей, поэтому, прочитав об этом, я решил перейти к методам. Однако теперь у меня есть проблема, когда в одном из моего абстрактного класса, у которого есть метод getFullName, отображается ошибка, которая говоритСоздание hibernate ignore normal get методы

Повторяющийся столбец при сопоставлении для объекта: com.bomahabo.flow.domain.project.shot.ShotComponent column: fullName (должен быть сопоставлен с insert = "false" update = "false")

Дело в том, что эти методы не отображаются, и это не должно быть, поскольку это обычный метод. Это подводит меня к другому. Если я использую методы в качестве сопоставления, это означает, что hibernate попытается сопоставить любой метод get, который возвращает строку?

ответ

0

Вам необходимо установить это поле как переходное. Если вы используете атрибуты, то вы ищете @Transient

+0

Есть ли способ сказать, что он спящий, чтобы игнорировать поля, которые не отображаются? У меня есть много методов, и я хотел бы избегать добавления аннотации @Transient всех из них, если это возможно. –

+0

Я понятия не имею, как выглядит ваш технический стек, если вы используете аннотации, файлы сопоставления спящего режима или что-то еще. Если вы используете аннотации, то это не проблема. @Transient - именно то, что вам нужно. Если у вас есть множество свойств и методов, которые не сохранены в базе данных, рассмотрите возможность реорганизации кода для извлечения этих методов в классе Утилиты или в какой-либо службе бизнес-логики – Yannis

Смежные вопросы