2012-07-20 4 views
1

Play 2.0.2에서 ORM으로 ebean을 사용하고 기존 1.2.8 버전의 기존 모델을 마이그레이션하려고합니다. 모델 클래스의 모든 camelCase 필드가 데이터베이스의 밑줄 열에 매핑되고 데이터베이스의 열이 밑줄을 사용하지 않으므로 문제가 발생합니다. http://www.avaje.org/static/javadoc/pub/com/avaje/ebean/config/UnderscoreNamingConvention.htmlEbean 명명 규칙을 재정의합니다.

명명 규칙 밑줄은 어느 것도 지정되지 않은 경우 기본이며, 그 플레이의 EbeanPlugin에서 어떤 일이 일어나고있는 것 같다 무엇 :

나는 ebean API 문서에서 찾고 있었어요. Play 내에서이 기본 설정을 무시할 수있는 방법이 있습니까?

@Column을 사용하여 모든 CamelCase 필드에 주석을 달아야합니다.

TIA.

+0

그냥 제안 : 어쩌면 그것은 수동으로 DB를 기존의 구조를 변경하는 빠른 것? 현재의 컨벤션을 유지하는 것이 더 좋은 방법입니다. – biesior

+0

나를위한 옵션이 아닌 DB 업데이트. DB는 게임에서만 액세스 할 수 없습니다. 현재 국제 대회? – advaitk

답변

0

Ebean이 이것을 지원한다고 생각하지만, Play Framework에서 잘 지원되는지, Google 그룹을 살펴보고, 흥미로운 질문이기 때문에 대답이 분명 할 때 질문을 업데이트하는지 잘 모르겠습니다. , 나는 생각한다 :-).

ebean.namingConvention.sequenceFormat={table}{column}seq 
+0

이것은 나를 위해 작동하지 않았다. 컴파일에 실패하여 LIST가 아닌 OBJECT를 찾는 것에 대해 불평합니다. 값을 큰 따옴표로 넣으려고했으나 여전히 같은 오류가 발생했습니다. Kevin Galligan이 제안한 ebean.properties 메소드는 작동했습니다. –

4

오래된 질문을하지만 난 그냥 대답을 생각하기 때문에, 내가 공유하고자 다음 application.conf 다음과 같이 아마도 구성을 설정

하지만.

conf 디렉토리에서 'ebean.properties'라는 파일을 만듭니다. 이 파일에서 ... 당신이 설정할 수있는 설정 옵션들 중 하나입니다

ebean.namingconvention = com.avaje.ebean.config.MatchingNamingConvention을 넣어. 라인 1405에서

봐 : http://grepcode.com/file/repo1.maven.org/maven2/org.avaje/ebean/2.7.2/com/avaje/ebean/config/ServerConfig.java

+0

2.0.X로 재생할 수 있습니까? play ebean plugin init 코드를 들여다 보면 conf 파일을 무시하는 것처럼 보였습니다. 그것이 시도하고 업데이 트를 줄 것이다. – advaitk

+0

ebean 코드 자체가 나타납니다. 그냥 "ebean.properties"를여십시오. 그래서 Heroku에서 파일을 conf 디렉토리가 아닌 app 루트에 저장해야했습니다. 그래도 작동합니다. 나는 2.1.1을 사용하고 있지만, 2.0.x는 충분히 유사하다고 생각합니다. –

관련 문제