JPA Toplink Generate Tables from Entities erzeugt keine Outputfile

Status
Nicht offen für weitere Antworten.

schmiddi

Mitglied
Guten Tag,
Ich versuch mich jetzt schon seit einiger Zeit an der Eclipse Funktion "Generate Tables from Entities".
Doch egal was ich wie schreibe, er macht mir keine Tables aus den Entities.
Er schreibt mir nichtmal eine Output Datei. Und genau die möchte ich haben um zu wissen wie das funktionert.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="em">
<description>Access to em DB</description>
<provider>oracle.toplink.essentials.PersistenceProvider</provider>
<class>package.model.Test</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>

<properties>
<property name="toplink.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="toplink.jdbc.user" value="name" />
<property name="toplink.jdbc.driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="toplink.jdbc.password" value="pw" />
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
<property name="eclipselink.ddl-generation.output-mode" value="both"/>
<property name="eclipselink.application-location" value="d:\"/>
<property name="eclipselink.create-ddl-jdbc-file-name" value="xxx.xml"/>
</properties>

</persistence-unit>
</persistence>

Das einzige was meine Console hergibt ist:
Code:
[TopLink Info]: 2009.07.22 11:56:41.160--ServerSession(8452719)--TopLink, version: Oracle TopLink Essentials - 2.0 (Build b41-beta2 (03/30/2007))
[TopLink Info]: 2009.07.22 11:56:42.973--ServerSession(8452719)--file:/D:/Workspace/Projekt/bin/-em login successful
[TopLink Info]: 2009.07.22 11:56:43.004--ServerSession(8452719)--file:/D:/Workspace/Projekt/bin/-em logout successful
Innerhalb von 31 ms. Ziemlich performant... aber naja, bringt ja nichts ;)

Hat hier jemand eine Idee woran das liegen könnte?

Viele Grüße
schmiddi
 

schmiddi

Mitglied
<class>package.model.Test</class>

Diese Klasse soll er umbauen.
Er sollte noch viel mehr machen, aber solang nichtmal das funktioniert kann ich die andern Klassen ja aussen vor lassen
Java:
package package.model;

import java.io.Serializable;
import javax.persistence.*;

/**
 * Entity implementation class for Entity: Test
 *
 */
@Entity
@Table(name="Test")
public class Test implements Serializable {

	
	private int id;
	private short x;
	private static final long serialVersionUID = 1L;

	public Test() {
		super();
	}   
	@Id    
	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}   
	public short getX() {
		return this.x;
	}

	public void setX(short x) {
		this.x = x;
	}
   
}
 

Noctarius

Top Contributor
Außer der Id würde da auch nichts persistiert werden, Serializable muss nicht implementiert sein und die serialVersionUID würde ich auch wegmachen. Die Id machst du selber oder soll die generiert werden?
 

schmiddi

Mitglied
Im Moment gehts mir ja nur darum, dass er mir eine Tabelle aus dieser Klasse erstellt und das macht er nicht.
Dass er nur die ID hat weiß ich. Und mir ist auch recht egal ob sie generated ist oder nicht (in dem Fall natürlich nicht).
Ich brauche nur das Create Test ... Sql Script
 

Noctarius

Top Contributor
1. ist eine ID Spalte alleine sinnlos und ich vermute mal, dass die Tabelle daher nicht erstellt wird
2. würde ich die Id automatisch generieren lassen
 

schmiddi

Mitglied
1. Ist dir schon die 2. Spalte aufgefallen?

private short x;

;)

Also eigentlich sollte er es dann ja doch tun.
Und nein jetzt im Moment will ich es noch nicht generated. Für das Migrieren brauch ich eh noch ein selber setzen der Werte!
 

Noctarius

Top Contributor
Oh stimmt hab ich nicht gesehen, hm dann gute Frage. Hab bisher nur die EclipseLink Version genutzt (nicht TopLink) und dann auch nur den statischen Enhancer.

Theoretisch sollte es funktionieren. Funktionieren denn andere ANT-Targets? Z.B. Enhancen? Vielleicht eine richtige svUID unterschieben (also eine generierte)?
 

schmiddi

Mitglied
Also ... ich muss ehrlich sagen, an alle die das Problem irgendwann haben sollten.

LASST DIE FINGER VON TOPLINK

Mit Eclipselink hat das wunderbar funktioniert :)
Vielen Dank für den Tipp!

Viele Grüße

schmiddi

*feierabendbier köpf*
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen


Oben