Hi,
ich versuche für den PK einer JPA Entity eine eigene Wrapper Klasse zu erstellen, damit im Programmcode der PK nicht immer direkt int/long Werte übergeben werden. Allerdings funktioniert dies noch nocht
Wenn ich nun versuche eine Entity mittels der Methode persist in der Datenbank zu speichern, erhakte ich folgende Fehlermeldung:
Exception in thread "main" <openjpa-1.2.1-SNAPSHOT+OPENJPA-679-Final-r422266:746282 fatal store error>
org.apache.openjpa.persistence.RollbackException:
Can not set int field de.test.jpa.entity.TestId .id to java.math.BigDecimal
Sind die beiden Annotationen nicht kombinierbar oder ist mir ein anderer Denkfehler unterlaufen? Über Hilfe würde ich mich freuen.
Viele Grüße
SilentWater
ich versuche für den PK einer JPA Entity eine eigene Wrapper Klasse zu erstellen, damit im Programmcode der PK nicht immer direkt int/long Werte übergeben werden. Allerdings funktioniert dies noch nocht
Java:
@Entity
public class Test implements Serializable {
@EmbeddedId
@GeneratedValue(strategy=GenerationType.IDENTITY)
private TestId id;
public TestId getId() {
return id;
}
@SuppressWarnings("unused")
private void setId(TestId id) {
this.id = id;
}
}
[/Java]
[code=Java]
@Embeddable
public class TestId implements Serializable{
@Column(name = "ID")
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + id;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
TestId other = (TestId ) obj;
if (id != other.id)
return false;
return true;
}
}
Wenn ich nun versuche eine Entity mittels der Methode persist in der Datenbank zu speichern, erhakte ich folgende Fehlermeldung:
Exception in thread "main" <openjpa-1.2.1-SNAPSHOT+OPENJPA-679-Final-r422266:746282 fatal store error>
org.apache.openjpa.persistence.RollbackException:
Can not set int field de.test.jpa.entity.TestId .id to java.math.BigDecimal
Sind die beiden Annotationen nicht kombinierbar oder ist mir ein anderer Denkfehler unterlaufen? Über Hilfe würde ich mich freuen.
Viele Grüße
SilentWater