-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 
Author Message
 Post subject: Problem using interfaces
PostPosted: Wed Aug 31, 2005 1:24 pm 
Newbie

Joined: Tue Aug 02, 2005 2:42 pm
Posts: 7
I've created an interface:
package com.sas.dropbox.businessobjects;

//tried adding the '@' to interface
public interface Submitter {

public String getEmail();
}

and when I reference it in a business object - I get a null pointer exception when I try and generate a schema.

<example>
@Entity
public class DBFile {
private Submitter submitter;
...
</example>

So my question is - what am I doing wrong/how do you implement interfaces - and can you reference an object by them in hibernate?


<see below for exception>

Pls help or educate me.


Hibernate version:
3.0

Full stack trace of any exception that occurs:
ant schemaexport
Buildfile: build.xml

init:

compile:

dist:

schemaexport:
[java] java.lang.NullPointerException
[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: java.lang.NullPointerException
[java] at org.hibernate.cfg.AnnotationConfiguration.orderHierarchy(AnnotationConfiguration.java:76)
[java] at org.hibernate.cfg.AnnotationConfiguration.orderHierarchy(AnnotationConfiguration.java:76)
[java] at org.hibernate.cfg.AnnotationConfiguration.orderHierarchy(AnnotationConfiguration.java:68)
[java] at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:170)
[java] at org.hibernate.cfg.Configuration.generateDropSchemaScript(Configuration.java:570)
[java] at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:64)
[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] java.lang.NullPointerException
[java] at org.hibernate.cfg.AnnotationConfiguration.orderHierarchy(AnnotationConfiguration.java:76)
[java] at org.hibernate.cfg.AnnotationConfiguration.orderHierarchy(AnnotationConfiguration.java:76)
[java] at org.hibernate.cfg.AnnotationConfiguration.orderHierarchy(AnnotationConfiguration.java:68)
[java] at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:170)
[java] at org.hibernate.cfg.Configuration.generateDropSchemaScript(Configuration.java:570)
[java] at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:64)
[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)

BUILD SUCCESSFUL
Total time: 4 seconds

Name and version of the database you are using:
mysql --version
mysql Ver 14.7 Distrib 4.1.12, for portbld-freebsd5.3 (i386) using 4.3

The generated SQL (show_sql=true):
it's set to true - but wont get that far


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 01, 2005 7:08 pm 
Hibernate Team
Hibernate Team

Joined: Sun Sep 14, 2003 3:54 am
Posts: 7256
Location: Paris, France
I don't understand you

_________________
Emmanuel


Top
 Profile  
 
 Post subject: Further Explanation
PostPosted: Fri Sep 02, 2005 12:24 pm 
Newbie

Joined: Tue Aug 02, 2005 2:42 pm
Posts: 7
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


Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 03, 2005 8:27 am 
Hibernate Team
Hibernate Team

Joined: Sun Sep 14, 2003 3:54 am
Posts: 7256
Location: Paris, France
1. @ManyToOne cannot be implied
2. association to unmapped Interface are not supported in hibernate, so you'll have to set targetEntity to one of the implementation.
3. mapped interface are not supported in Hibernate annotations.

_________________
Emmanuel


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.