/ / Hibernate Hbm-Zuordnungsdatei, die auf eine Entität in einem anderen Projekt verweist - Java, Eclipse, Spring, Hibernate, Hbm

Hibernate-Hbm-Zuordnungsdateiverweisentität in einem anderen Projekt - Java, Eclipse, Spring, Hibernate, Hbm

Ich habe zwei Projekte in einem Eclipse-Arbeitsbereich: "myproject-main" verweist auf "myproject-domain" (es wird durch Hinzufügen zum Erstellungspfad referenziert. "myproject-domain" enthält meine Domänenentitäten (POJOs) und sonst nichts. Alles wird korrekt erstellt und alle Verweise von Klassen in "myproject-main" für Entitäten in "myproject-domain" ist in Ordnung.

Das Problem ist, dass ich Hibernate hbm.xml-Dateien in "myproject-main" habe, die Entitäten in "myproject-domain" referenzieren.

Dies ist in "myproject-main", zusammen mit allen anderen Hibernate- und Spring-Setups:

<class name="uk.co.luciditysoftware.myproject.domain.entities.User" table="`User`">

<id name="id" column="`Id`" type="uuid-char">
<generator class="assigned" />
</id>

<property name="firstName">
<column name="`FirstName`" length="50" not-null="true" />
</property>

<property name="lastName">
<column name="`LastName`" length="50" not-null="true" />
</property>

</class>

und diese Klasse in "myproject-domain":

package uk.co.luciditysoftware.myproject.domain.entities;

import java.util.UUID;

public class User {
private UUID id;
private String firstName;
private String lastName;

public UUID getId() {
return id;
}

public void setId(UUID id) {
this.id = id;
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}
}

Wenn ich die Benutzerentität in die"myproject-main" -Projekt, alles funktioniert wie erwartet, daher stimmt nichts mit meinem Hibernate / Spring-Setup überein. Es ist nur ein Problem aufgetreten, die User-Entität zu finden, wenn sie sich in einem referenzierten Projekt befindet.

Der beim Start des Projekts erhöhte Expection Stack hat

java.lang.ClassNotFoundException: uk.co.luciditysoftware.myproject.domain.entities.User

unten mit

org.hibernate.MappingException: class uk.co.luciditysoftware.myproject.domain.entities.User not found while looking for property

als nächstes im Stapel.

Antworten:

0 für die Antwort № 1

Ich habe es herausgefunden. Ich habe auf meineProjektdomäne von meiner Projekt-Hauptseite aus verwiesen, indem ich Folgendes ausgeführt habe:

myproject-main -> right click -> Properties -> Java Build Path -> Projects -> Add

und dort myproject domain hinzufügen, aber Sie müssen auch Folgendes tun:

Main menu -> Run -> Run Configurations... -> Apache Tomcat -> Tomcat v8.0 server -> Classpath tab -> Add Projects...

und füge myproject-domain von dort hinzu, wie in dieser Frage erwähnt: Aufrufen einer Klasse in einem anderen Projekt Eclipse