ネーミング規約

Ebean には、列名をプロパティ名にマップするためのネーミング規約 API があります。また、エンティティからテーブル名にマップし、必要に応じてデータベーススキーマとカタログを考慮することもできます。

既定のUnderscoreNamingConventionは、アンダースコア付きの列名を通常の Java キャメルケースのプロパティ名に変換します(例: 「first_name」は「firstName」にマップされます)。

@Entity
@Table(name="be_contact")
public class Contact extends BaseModel {

  ...
  // the default underscore naming convention maps
  // "firstName" property to column "first_name"
  // ... so this @Column annotation is not required
  @Column(name="first_name")
  String firstName;

または、MatchingNamingConventionを使用するか、独自のネーミング規約を実装できます。

MatchingNamingConvention は、列名をプロパティ名と一致させ、テーブル名をエンティティ名と一致させます。Ebean は、アノテーションがない場合はクラス名がテーブル名として、プロパティ名が列名として採用されるという JPA 仕様に従います。