У меня есть два класса: TranscriptionService
и TranscriptionConfig
.ManyToOne отношения со строковым полем
TranscriptionConfig
имеет переменную serviceName
, то есть строку, с сеттерами и геттерами.
TranscriptionService
не имеет переменных или ссылок в классе до TranscriptionConfig
.
Есть две таблицы базы данных: transcriptionConfig
и transcriptionServices
. transcriptionConfig
имеет внешний ключ между его полем serviceName
и name
внутри transcriptionServices
.
Администратор должен иметь возможность установить строковое значение serviceName
внутри transcriptionConfig
. Затем он ссылается на эквивалентную строку внутри name
в transcriptionServices
. Записи transcriptionServices
в базе данных предварительно определены вручную, поэтому их никогда не нужно устанавливать с помощью объекта.
Мой текущий код зимуют внутри transcriptionConfig
для serviceName
выглядит следующим образом:
@ManyToOne
@JoinColumn(name = "serviceName", nullable = false)
private String transcriptionService;
Однако, это не позволит мне сделать это, как String
не является сущностью. Я пробовал добавить target-entity
безрезультатно.
Похоже, что у него есть отношение manyToOne
, ему нужно будет иметь экземпляр класса TranscriptionService
, но я не хочу, чтобы transcriptionConfig
содержал этот объект. Ему просто нужна ссылка на имена.
Как я могу использовать это отношение ManyToOne
, но просто пропустите строку для имени?
Я понимаю ошибку, которую я получаю, но я не вижу возможности ее поймать, поскольку фактическое исключение никогда не бросается? Помощник дает сообщение об ошибке, а затем спящий режим возвращает 403 запрещенных. У меня есть другая проверка, чтобы остановить строку от определенных вещей, но исключение проверки никогда не выбрасывается, поскольку помощник заставляет код останавливаться раньше ... Любые идеи? ('ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper ......') – fl0shizzle
Вставьте где-нибудь свой код, где вы сохраняете() или обновляете() и полный стек. –
Трассировка стека: https://paste.ee/p/uIlUj – fl0shizzle