두 클래스가 있습니다 : TranscriptionService
및 TranscriptionConfig
입니다.문자열 필드가있는 ManyToOne 관계
TranscriptionConfig
에는 serviceName
변수가 있습니다. 즉, 문자열이며 setters와 getters가 있습니다.
TranscriptionService
에는 TranscriptionConfig
에 대한 변수 또는 참조가 없습니다.
transcriptionConfig
과 transcriptionServices
의 두 데이터베이스 테이블이 있습니다. transcriptionConfig
의 필드는 serviceName
이고 name
은 transcriptionServices
입니다.
관리자는 문자열 값을 transcriptionConfig
안에 설정할 수 있어야합니다. 그런 다음 에있는 name
내의 동등한 문자열을 참조합니다. 데이터베이스의 transcriptionServices
항목은 수동으로 미리 정의되므로 개체를 사용하여 설정할 필요가 없습니다. 다음과 같이 serviceName
에 대한 transcriptionConfig
내부
나의 현재 최대 절전 모드 코드는 다음과 String
엔티티 아니므로
@ManyToOne
@JoinColumn(name = "serviceName", nullable = false)
private String transcriptionService;
그러나, 내가이 작업을 수행 할 수 없습니다. 나는 쓸데없이 target-entity
을 추가하려고 시도했다.
manyToOne
관계가있는 것 같습니다. TranscriptionService
클래스의 인스턴스가 있어야하지만 transcriptionConfig
에는이 개체가 포함되지 않아야합니다. 그냥 이름에 대한 참조가 필요합니다.
어떻게이 ManyToOne
관계를 사용할 수 있지만 이름의 문자열을 그냥 지나치시겠습니까?
나는 실제 오류가 발생하지 않기 때문에 나는 그것을 이해하고 있지만 그것을 잡을 수있는 방법은 없다는 것을 알고있다. 도우미가 오류 메시지를 표시 한 다음 최대 절전 모드로 403을 반환하고 있습니다. 문자열에 특정 작업을 중지시키는 다른 유효성 검사가 있지만 유효성 검사 예외가 throw되지 않습니다. 도우미가 코드를 이전에 중지하도록합니다 ... 어떤 아이디어입니까? ('ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper ......') – fl0shizzle
persist() 또는 update()와 full stacktrace를하는 코드 어딘가에 붙여 넣기하십시오. –
스택 트레이스 : https://paste.ee/p/uIlUj – fl0shizzle