Hi there,
I am trying to add this property (see code further down) and then using mySQL
for the persistence.
However, it fails with a MySQL error: "Specified key was too long; max key
length is 767 bytes"
Anyone who have ideas for where to start searching for the error?
Best,
Marianne Hagaseth.
//region > rule (property)
private Rule rule;
@javax.jdo.annotations.Column(name="ruleId",allowsNull="true")
@MemberOrder(name="General", sequence="80")
public Rule getRule() {
return rule;
}
public void setRule(final Rule rule) {
this.rule = rule;
}
//endregion
10:20:45,861 [Schema main DEBUG] Execution Time = 123 ms
10:20:45,865 [Datastore main ERROR] An exception was thrown
while adding/validating class(es) : Specified key was too long; max key length
is 767 bytes
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was
too long; max key length is 767 bytes
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:85)
at org.apache.isis.core.webserver.WebServer.run(WebServer.java:103)
at org.apache.isis.core.webserver.WebServer.main(WebServer.java:67)
at org.apache.isis.WebServer.main(WebServer.java:25)
10:20:45,865 [Datastore main ERROR] An exception was thrown
while adding/validating class(es) : Specified key was too long; max key length
is 767 bytes
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was
too long; max key length is 767 bytes
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
at com.mysql.jdbc.Util.getInstance(Util.java:360)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified
key was too long; max key length is 767 bytes
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
... 54 more
10:20:46,204 [WicketFilter main ERROR] The initialization of an
application with name 'WicketFilter' has failed.
com.google.inject.ProvisionException: Guice provision errors:
1) Error in custom provider,
org.datanucleus.exceptions.NucleusDataStoreException: Error(s) were found while
auto-creating/validating the datastore for classes. The errors are printed in
the log, and are attached to this exception.
at
org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
//region > rule (property)
private Rule rule;
@javax.jdo.annotations.Column(name="ruleId",allowsNull="true")
@MemberOrder(name="General", sequence="80")
public Rule getRule() {
return rule;
}
public void setRule(final Rule rule) {
this.rule = rule;
}
//endregion