美好的一天伙计们,
我想创建不使用Playframework和Ebeans的默认@Id自动生成的模型。我在网上看到有使用GenericModel的选项,但是这个类似乎不包含在2.3x版本中。我这样做是为了解决它,但我仍然没有实现我的目标
public class ProductVariants extends Model
{
@Id
String id;
public String getId() {
return (this.id == null) ? UUID.randomUUID().toString() : this.id;
}
public void setId(String id) {
this.id = id;
}
}
这个问题是我必须在保存对象之前手动设置ID,例如
productVariant.setId(productVariant.getId());
productVariant.save();
主模型及其所有相关模型都具有OneToMany关系,当我从视图绑定到错误为ERROR executing DML bindLog[] error[Field 'id' doesn't have a default value]]]
的Model对象时,它当前给我提出了问题。
请提供任何帮助。
答案 0 :(得分:1)
美好的一天伙计们,
我最后通过使用JDK附带的UUID类修复了这个问题。因此,在创建模型时,可以使用
创建模型@Id
public java.util.UUID id
同样在路线文件中,如果您需要通过ID映射到记录,您可以通过执行此类操作来执行此操作
GET /:pid/edit controllers.Application.edit(pid: java.util.UUID)