# HG changeset patch # User Raimund Renkert # Date 1373895579 -7200 # Node ID 04b5f401e871d7b7a6b6bcaa8e47c25b01f19046 # Parent 8f27440a5f49cb504c501ddb30855d83232c4f1b Get the sequence id for LMessung manually from database. diff -r 8f27440a5f49 -r 04b5f401e871 src/main/java/de/intevation/lada/model/LMessung.java --- a/src/main/java/de/intevation/lada/model/LMessung.java Mon Jul 15 15:38:46 2013 +0200 +++ b/src/main/java/de/intevation/lada/model/LMessung.java Mon Jul 15 15:39:39 2013 +0200 @@ -26,7 +26,6 @@ */ @Entity @Table(name = "l_messung", schema = "public") -@SequenceGenerator(name = "MESSUNG_ID_STORE", sequenceName = "messung_id_seq") public class LMessung implements java.io.Serializable { private LMessungId id; diff -r 8f27440a5f49 -r 04b5f401e871 src/main/java/de/intevation/lada/model/LMessungId.java --- a/src/main/java/de/intevation/lada/model/LMessungId.java Mon Jul 15 15:38:46 2013 +0200 +++ b/src/main/java/de/intevation/lada/model/LMessungId.java Mon Jul 15 15:39:39 2013 +0200 @@ -14,12 +14,12 @@ public class LMessungId implements java.io.Serializable { private String probeId; - private short messungsId; + private Integer messungsId; public LMessungId() { } - public LMessungId(String probeId, short messungsId) { + public LMessungId(String probeId, Integer messungsId) { this.probeId = probeId; this.messungsId = messungsId; } @@ -34,12 +34,11 @@ } @Column(name = "messungs_id", nullable = false) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MESSUNG_ID_STORE") - public short getMessungsId() { + public Integer getMessungsId() { return this.messungsId; } - public void setMessungsId(short messungsId) { + public void setMessungsId(Integer messungsId) { this.messungsId = messungsId; } diff -r 8f27440a5f49 -r 04b5f401e871 src/main/java/de/intevation/lada/rest/LMessungService.java --- a/src/main/java/de/intevation/lada/rest/LMessungService.java Mon Jul 15 15:38:46 2013 +0200 +++ b/src/main/java/de/intevation/lada/rest/LMessungService.java Mon Jul 15 15:39:39 2013 +0200 @@ -1,11 +1,13 @@ package de.intevation.lada.rest; +import java.math.BigInteger; import java.util.ArrayList; import java.util.List; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.inject.Named; +import javax.persistence.Query; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; @@ -134,8 +136,12 @@ try { String probeId = messung.getProbeId(); if (authentication.hasAccess(headers, probeId)) { + Query q = repository.getEntityManager().createNativeQuery( + "select nextval('messung_id_seq')"); + BigInteger seqId = (BigInteger)q.getSingleResult(); LMessungId id = new LMessungId(); id.setProbeId(probeId); + id.setMessungsId(seqId.intValue()); messung.setId(id); return repository.create(messung); }