몇 가지 방법은 다음과 같이 주석이 된 자바 런타임에 속성 값을 :은 우리의 모델 POJO를에
@Column(name="cli_clipping_id", updatable=false, columnDefinition = "varchar(" + ModelUtils.ID_LENGTH + ") COLLATE utf8_bin")
columnDefinition 속성은 데이터베이스 공급 업체에 의존, 그래서 HSQLDB에서 스키마를 제거하려고 할 때 최대 절전 모드 사용 실패
[ERROR] 16 jun 12:58:42.480 PM main [org.hibernate.tool.hbm2ddl.SchemaExport]
Unexpected token: COLLATE in statement [create table cms.edi_editorial_obj (edi_uuid varchar(23) COLLATE]
이 문제를 해결하려면, 내가이 솔루션을 생각하고 (하지만 가능하지 않은 경우 시간을 보내고 싶지 않아) 주석이 각 방법의 컬럼에 대해, 런타임시 :
- javaassist를 사용 columnDefinition 널 (null)을 설정, 열 주석의 사본을 작성 @Column 주석
- 를 가져옵니다. 예전를 무시 복사 열 주석 객체에
- 세트 열 방법 주석은
는 이러한 방법이 방법을 "해킹"할 수 있는가 (나는이 가능 그것을 모르는)?
어떤 도움이 많이 주시면 감사하겠습니다 ...
나는 이와 비슷한 질문에 대답했다 : http://stackoverflow.com/questions/906671/jpa-how-do-i-specify-the-table-name-corresponding-to-a-class-at-runtime/940380 # 940380 –