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


Reply via email to