0
我在MySQL中創建了一個複合鍵。該表是ActionNoteCode
,複合密鑰由字段action_note_code
和collection
組成。我遵循compound key in ebean and play framework的例子。Ebean和PlayFramework的複合鍵
類ActionNoteCode
代碼:
@Entity
public class ActionNoteCode extends Model {
@EmbeddedId
public ActionNoteCodeIndex id;
String description = "";
@Embeddable
class ActionNoteCodeIndex {
String acvtion_note_code;
String collection;
}
}
當比賽開始它會引發以下錯誤:
Cannot register class [models.prospector.actionNote.ActionNoteCode$ActionNoteCodeIndex] in Ebean server
這說明你正在使用的模型文件夾/包:
ebean.default="models.*"
以下是完整的堆棧跟蹤:
play.api.Configuration$$anon$1: Configuration error[Cannot register class [models.prospector.actionNote.ActionNoteCode$ActionNoteCodeIndex] in Ebean server]
at play.api.Configuration$.configError(Configuration.scala:156)
at play.api.Configuration.reportError(Configuration.scala:809)
at play.Configuration.reportError(Configuration.java:368)
at play.db.ebean.DefaultEbeanConfig$EbeanConfigParser.addModelClassesToServerConfig(DefaultEbeanConfig.java:107)
at play.db.ebean.DefaultEbeanConfig$EbeanConfigParser.parse(DefaultEbeanConfig.java:82)
at play.db.ebean.DefaultEbeanConfig$EbeanConfigParser.get(DefaultEbeanConfig.java:56)
at play.db.ebean.DefaultEbeanConfig$EbeanConfigParser.get(DefaultEbeanConfig.java:40)
at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72)
at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
Caused by: java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
models/prospector/actionNote/ActionNoteCode$ActionNoteCodeIndex.<init>(Lmodels/prospector/actionNote/ActionNoteCode;)V @2: invokevirtual
Reason:
Type uninitializedThis (current frame, stack[0]) is not assignable to 'models/prospector/actionNote/ActionNoteCode$ActionNoteCodeIndex'
Current Frame:
bci: @2
flags: { flagThisUninit }
locals: { uninitializedThis, 'models/prospector/actionNote/ActionNoteCode' }
stack: { uninitializedThis, 'models/prospector/actionNote/ActionNoteCode' }
Bytecode:
0x0000000: 2a2b b600 202a b700 232a bb00 2559 2ab7
0x0000010: 0028 b500 2ab1
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at play.db.ebean.DefaultEbeanConfig$EbeanConfigParser.addModelClassesToServerConfig(DefaultEbeanConfig.java:105)
at play.db.ebean.DefaultEbeanConfig$EbeanConfigParser.parse(DefaultEbeanConfig.java:82)
at play.db.ebean.DefaultEbeanConfig$EbeanConfigParser.get(DefaultEbeanConfig.java:56)
at play.db.ebean.DefaultEbeanConfig$EbeanConfigParser.get(DefaultEbeanConfig.java:40)
at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72)
at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:62)
這裏是完整的堆棧跟蹤.. – Chet
試着讓你的類靜態,'public static class ActionNoteCodeIndex' – pedroct92