构造函数

Ebean 不需要默认构造函数,这意味着我们可以为我们的实体 bean 提供一个带有参数的构造函数。通常,参数是创建该类型的新 bean 时应始终提供的属性(并且通常是不可为空的)。

@Entity
public class Customer {

  @Id
  long id;

  @NotNull @Length(100)
  String name;

  public Customer(String name) {
    this.name = name;
  }

  // getters and setters

}
  
...
@Entity
class Customer(name : String) {

  @Id
  var id: Long = 0

  @Length(100)
  var name: String = name

}
  

现在,当我们创建一个新 Customer 时,我们知道必须使用一个名称来创建它。

对于 Kotlin,我们现在可以将 name 设置为一个非空类型。Ebean 将把 Kotlin 非空类型视为从数据库角度来看的 NOT NULL,从而为我们提供一个更严格的模型。

Customer customer = new Customer("Hello entity bean")
customer.save()
val customer = Customer("Hello entity bean")
customer.save()

Kotlin 有多种构造函数样式。有关实体 bean 的首选构造函数样式的更多信息,请参见此处