Skip to content

custom IdGenerator fail #128

@techzhou

Description

@techzhou
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?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions