我想在模型上使用UUID而不是常规ID。
可以使用play框架吗?
首先,不要在要生成ID的模型中扩展(play.db.jpa.Model)模型,而是使用GenericModel。
那么您可以使用在创建对象时(在构造函数中)调用的帮助程序类。
或在保存时调用帮助程序类(因此我必须创建包装器DAO,保存过程在包装器DAO中完成,而不是在对象中完成,以便我可以生成ID来保存对象)
或者,如果您想使用更简单的方法,请使用JPA UUID。请参见下面的代码。
@Entity
public class User extends GenericModel {
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
public String id;
}
GenericModel:这不是反模式吗?请参阅:en.wikipedia.org/wiki/BaseBean
请参阅Wiki上的评论和Wiki的中立性,上面写有“本文的中立性有争议”,因此称此反模式为不当行为。