-
-
Notifications
You must be signed in to change notification settings - Fork 68
Description
package utils;
import io.ebean.config.IdGenerator;
public class EbeanIdGenerator implements IdGenerator {
private static final UniqueId uid = new UniqueId();
@Override
public Object nextValue() {
return uid.getStringId();
}
@Override
public String getName() {
return "ccID";
}
}
package models;
import io.ebean.config.ServerConfig;
import io.ebean.event.ServerConfigStartup;
import utils.EbeanIdGenerator;
public class CustomServerConfigStartup implements ServerConfigStartup {
@Override
public void onStart(ServerConfig serverConfig) {
serverConfig.add(new EbeanIdGenerator());
}
}
@Entity
public class Catalog extends Model {
@Id
@GeneratedValue(generator = "ccID")
public String id;
I got fail message
Caused by: java.lang.IllegalStateException: No custom IdGenerator registered with name ccID
at io.ebeaninternal.server.deploy.parse.AnnotationFields.readGenValue(AnnotationFields.java:511)
at io.ebeaninternal.server.deploy.parse.AnnotationFields.readField(AnnotationFields.java:176)
at io.ebeaninternal.server.deploy.parse.AnnotationFields.parse(AnnotationFields.java:84)
at io.ebeaninternal.server.deploy.parse.ReadAnnotations.readInitial(ReadAnnotations.java:57)
at io.ebeaninternal.server.deploy.BeanDescriptorManager.createDeployBeanInfo(BeanDescriptorManager.java:1180)
at io.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentInitial(BeanDescriptorManager.java:677)
at io.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:321)
at io.ebeaninternal.server.core.InternalConfiguration.(InternalConfiguration.java:141)
at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:130)
at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:44)
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.6.3")
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "4.0.2")
Was there anything wrong with what I did?