I have 3 classes and 1 interface:
Classes:
- Account
- DBFile
- DBKey
Interface:
- Submitter
2 of the classes ( DBKey & Account ) implements the Submitter interface.
(the following is the code for the submitter interface)
<code>
public interface Submitter {
public String getEmail();
}
</code>
Now, everything compiles just fine - untill I make reference to Submitter objects in DBFile
<code in dbfile>
private Submitter submitter;
@Column(nullable=false)
public Submitter getSubmitter(){
return this.submitter;
}
public void setSubmitter( Submitter submitter ){
this.submitter = submitter;
}
</code in dbfile>
After adding the submitter reference in DBFile and running this:
AnnotationConfiguration cfg = ExampleConfiguration.getConfig();;
SchemaExport schemaExport = new SchemaExport(cfg);
schemaExport.create(true, true);
: I get the following error message ( actually - this is just one of the error messages I can manage to get )
<error message>
> ant schemaexport
Buildfile: build.xml
init:
compile:
[javac] Compiling 1 source file to /home/mike1/Desktop/MyBusinessStuff/STB Technologies LTD/code/Java/Working/DropBox/DropBox1/WEB-INF/classes
dist:
[jar] Building jar: /home/mike1/Desktop/MyBusinessStuff/STB Technologies LTD/code/Java/Working/DropBox/DropBox1/WEB-INF/lib/annotations.jar
schemaexport:
[java] org.hibernate.MappingException: Could not determine type for: com.sas.dropbox.businessobjects.Submitter, for columns: [org.hibernate.mapping.Column(submitter)]
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:172)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:705)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:177)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:83)
[java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[java] at org.apache.tools.ant.Task.perform(Task.java:364)
[java] at org.apache.tools.ant.Target.execute(Target.java:341)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[java] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[java] at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
[java] at org.apache.tools.ant.Main.runBuild(Main.java:673)
[java] at org.apache.tools.ant.Main.startAnt(Main.java:188)
[java] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
[java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
[java] Caused by: org.hibernate.MappingException: Could not determine type for: com.sas.dropbox.businessobjects.Submitter, for columns: [org.hibernate.mapping.Column(submitter)]
[java] at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:265)
[java] at org.hibernate.mapping.Column.getSqlTypeCode(Column.java:128)
[java] at org.hibernate.mapping.Column.getSqlType(Column.java:172)
[java] at org.hibernate.mapping.Table.sqlCreateString(Table.java:298)
[java] at org.hibernate.cfg.Configuration.generateSchemaCreationScript(Configuration.java:645)
[java] at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:65)
[java] at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:49)
[java] at com.sas.dropbox.hibernate.GenerateSchema.main(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:585)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:193)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:130)
[java] ... 13 more
[java] --- Nested Exception ---
[java] org.hibernate.MappingException: Could not determine type for: com.sas.dropbox.businessobjects.Submitter, for columns: [org.hibernate.mapping.Column(submitter)]
[java] at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:265)
[java] at org.hibernate.mapping.Column.getSqlTypeCode(Column.java:128)
[java] at org.hibernate.mapping.Column.getSqlType(Column.java:172)
[java] at org.hibernate.mapping.Table.sqlCreateString(Table.java:298)
[java] at org.hibernate.cfg.Configuration.generateSchemaCreationScript(Configuration.java:645)
[java] at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:65)
[java] at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:49)
[java] at com.sas.dropbox.hibernate.GenerateSchema.main(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:585)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:193)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:130)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:705)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:177)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:83)
[java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[java] at org.apache.tools.ant.Task.perform(Task.java:364)
[java] at org.apache.tools.ant.Target.execute(Target.java:341)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[java] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[java] at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
[java] at org.apache.tools.ant.Main.runBuild(Main.java:673)
[java] at org.apache.tools.ant.Main.startAnt(Main.java:188)
[java] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
[java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
</error msg>
Any thoughts or feedback are appriciated,
mike
|