2012-09-10 5 views
4

JPA/Hibernate으로 사용자 정의 SQL 함수를 등록하는 가장 좋은 방법은 무엇입니까?JPA/Hibernate로 SQL 함수 등록

MysqlInnodb 방언을 확장해야합니까, 아니면 더 좋은 방법이 있습니까?

누구든지 코드 샘플과 관련 문서를 제공 할 수 있습니까?

답변

5

예 사투리 확장은 사용자 지정 SQL 함수를 등록하는 좋은 방법입니다.

Dialect 클래스 생성자에 다음과 같이 추가합니다.

registerFunction("current_timestamp", new NoArgSQLFunction(Hibernate.TIMESTAMP)); 
registerFunction("date", new StandardSQLFunction(Hibernate.DATE)); 

기존 방언 클래스 중 하나의 소스 코드를 살펴보십시오. http://www.koders.com/java/fid0E7F787E2EC52F1DA8DFD264EDFBD2DE904A0927.aspx

+0

새로운 수업을 만들고 기존 방언을 확장해야합니까? 아니면 더 간단한 방법이 있습니까? – balteo

+0

예 기존의 방언 클래스를 확장하는 새 클래스를 만듭니다. 최대 절전 모드 구성에서 클래스를 방언 클래스로 사용하십시오. – gkamal

+2

감사! 또한 : [흥미롭고 관련 링크] (http://stackoverflow.com/questions/6113167/hibernate-3-6-registerfunction-in-sql-dialect-not-working) – balteo