1

在 Play 2.0.2 中,我尝试使用 ebean 作为 ORM 并从 play-1.2.4 迁移我现有的模型类。模型类中的所有 camelCase 字段都映射到数据库中的下划线列,这会产生问题,因为数据库中的列不使用下划线。

我一直在查看 ebean API 文档:http ://www.avaje.org/static/javadoc/pub/com/avaje/ebean/config/UnderscoreNamingConvention.html

如果未指定下划线命名约定,则默认为下划线命名约定,这似乎在 Play 中的 EbeanPlugin 中发生。有没有办法可以覆盖这个默认设置(在 Play 中)?

我不想不得不用@Column 注释我所有的camelCase 字段来解决这个问题。

TIA。

4

2 回答 2

4

老问题,但由于我刚刚找到答案,所以我想分享一下。

在 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

于 2013-04-16T22:49:49.840 回答
0

我认为 Ebean 支持这一点,但我不确定 Play Framework 是否很好地支持这一点,看看他们的谷歌组,当你有答案时更新你的问题,因为这是一个有趣的问题,我认为: -)。

但是,也许在以下设置配置application.conf

ebean.namingConvention.sequenceFormat={table}{column}seq
于 2012-07-20T20:39:37.860 回答