Closed rbygrave closed 5 years ago
https://github.com/ebean-orm/ebean/issues/1751
java.lang.VerifyError: Bad type on operand stack Exception Details: Location: io/X/db/model/DbGroup.<init>(Lio/X/db/model/DbGroup$Builder;)V @58: invokevirtual Reason: Type 'io/X/db/model/DbGroup$Builder' (current frame, stack[1]) is not assignable to 'io/X/db/model/DbGroup' Current Frame: bci: @58 flags: { } locals: { 'io/X/db/model/DbGroup', 'io/X/db/model/DbGroup$Builder' } stack: { 'io/X/db/model/DbGroup', 'io/X/db/model/DbGroup$Builder' } Bytecode: 0000000: 2ab7 0048 2abb 004a 592a b700 4db5 004f 0000010: 2a2b b400 54b6 0058 2a2b b400 5ab6 005e 0000020: 2a2b b400 60b6 0064 2a2b b400 66b6 006a 0000030: 2a2b b400 6cb6 0070 2a2b b600 74b6 0078 0000040: 2a2b b600 7bb6 007e b1 at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?] at java.lang.Class.privateGetDeclaredMethods(Class.java:3167) ~[?:?] at java.lang.Class.privateGetPublicMethods(Class.java:3192) ~[?:?] at java.lang.Class.getMethods(Class.java:1905) ~[?:?] at io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory.addLifecycleMethods(BeanLifecycleAdapterFactory.java:46) ~[ebean-11.39.1.jar:?] at io.ebeaninternal.server.deploy.BeanDescriptorManager.createDeployBeanInfo(BeanDescriptorManager.java:1317) ~[ebean-11.39.1.jar:?] at io.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentInitial(BeanDescriptorManager.java:715) ~[ebean-11.39.1.jar:?] at io.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:371) ~[ebean-11.39.1.jar:?] at io.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:197) ~[ebean-11.39.1.jar:?] at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:124) ~[ebean-11.39.1.jar:?] at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:69) ~[ebean-11.39.1.jar:?] at io.ebeaninternal.server.core.DefaultContainer.createServer(DefaultContainer.java:35) ~[ebean-11.39.1.jar:?] at io.ebean.EbeanServerFactory.create(EbeanServerFactory.java:58) ~[ebean-11.39.1.jar:?] at io.ebean.Ebean$ServerManager.getWithCreate(Ebean.java:126) ~[ebean-11.39.1.jar:?] at io.ebean.Ebean$ServerManager.<init>(Ebean.java:75) [ebean-11.39.1.jar:?] at io.ebean.Ebean$ServerManager.<init>(Ebean.java:48) [ebean-11.39.1.jar:?] at io.ebean.Ebean.<clinit>(Ebean.java:43) [ebean-11.39.1.jar:?] at io.ebean.DB.getDefault(DB.java:76) [ebean-11.39.1.jar:?]
package test.model.domain; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; import java.util.Set; import java.util.UUID; @Entity @Table(name = "fh_group") public class DbGroup { @Id private UUID id; private String name; private boolean adminGroup; // @ManyToOne(optional = false) // private DbPerson whoCreated; @OneToMany(mappedBy = "group") private Set<DbPerson> peopleInGroup; // EntityBeanIntercept _intercept; public DbGroup() { } public UUID getId() { return id; } public void setId(UUID id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isAdminGroup() { return adminGroup; } public void setAdminGroup(boolean adminGroup) { this.adminGroup = adminGroup; } public Set<DbPerson> getPeopleInGroup() { return peopleInGroup; } public void setPeopleInGroup(Set<DbPerson> peopleInGroup) { this.peopleInGroup = peopleInGroup; } private DbGroup(Builder builder) { // this._intercept = new EntityBeanIntercept(this); setAdminGroup(builder.adminGroup); setName(builder.name); setPeopleInGroup(builder.peopleInGroup); } public static final class Builder { private DbPerson whoCreated; private boolean adminGroup; private String name; private Set<DbPerson> peopleInGroup; public Builder() { } public Builder whoCreated(DbPerson val) { whoCreated = val; return this; } public Builder adminGroup(boolean val) { adminGroup = val; return this; } public Builder name(String val) { name = val; return this; } public Builder peopleInGroup(Set<DbPerson> val) { peopleInGroup = val; return this; } public DbGroup build() { return new DbGroup(this); } } }
https://github.com/ebean-orm/ebean/issues/1751
Steps to reproduce