사용자 지정 명명 전략 (테이블 이름 전용)을 구현하는 방법을 연구 할 때 나는 비 일관성을 발견했으나 해결할 수 없었습니다. (내가 PostgreSQL을 9.1.9로 보스 6.1.0.Final에 최대 절전 모드 코어 3.6.6.Final을 사용하고 있습니다)어떤 명명 전략이 기본값인지 최대 절전 모드
는 NamingStrategy
세 가지 내장 구현 것 같다 :
DefaultNamingStrategy
EJB3NamingStrategy
ImprovedNamingStrategy
기본값은에 EJB3NamingStrategy
로 설정 될 것으로 보인다.
그러나 테이블 이름은 위의 것과 일치하지 않는 전략에 따라 설정되는 것으로 보입니다.
예 :
클래스 이름 : package.ClassName
결과 테이블 이름 : classname
전략 1과 2는 단순히 단순히 모든 패키지 이름과 점을 제거 StringHelper.unqualify(className)
전화, 그래서 결과는 ClassName
을해야합니다.
전략 3은 모든 패키지 이름과 점을 제거한 다음 각 camelcased 문자 앞에 밑줄을 넣고 마침내 소문자로 변환하여 class_name
이됩니다.
(4.1.0.Final를 최대 절전 모드의 소스 코드는이 클래스에서 변경되지 않은 것 같다.)
는 는는 그 누구도 날이 명확 도와 주 시겠어요?