SELECT ohne IdClass-Annotation

krgewb

Top Contributor
Ich habe folgende Klassen:
Java:
package com.a.vision.backend.database.entities;

import javax.persistence.*;
import java.util.Date;

@Entity
@IdClass(FrameMonitorDataEntityPK.class)
@Table(name = "FRAME_MONITOR_DATA")
public class FrameMonitorDataEntity {

    @Id
    private Long videoSourceId;

    @Id
    private Integer channel;

    @Id
    private Date lastFrameTs;

    @Column(name = "VIEW_ID", nullable = false)
    private Long viewId;

    public Long getVideoSourceId() {
        return videoSourceId;
    }

    public void setVideoSourceId(Long videoSourceId) {
        this.videoSourceId = videoSourceId;
    }

    public Integer getChannel() {
        return channel;
    }

    public void setChannel(Integer channel) {
        this.channel = channel;
    }

    public Date getLastFrameTs() {
        return lastFrameTs;
    }

    public void setLastFrameTs(Date lastFrameTs) {
        this.lastFrameTs = lastFrameTs;
    }

    public Long getViewId() {
        return viewId;
    }

    public void setViewId(Long viewId) {
        this.viewId = viewId;
    }
}

Java:
package com.a.vision.backend.database.entities;

import javax.persistence.Column;
import javax.persistence.Embeddable;
import java.io.Serializable;
import java.util.Date;

@Embeddable
public class FrameMonitorDataEntityPK implements Serializable {

    @Column(name = "VIDEO_SOURCE_ID", nullable = false)
    private Long videoSourceId;

    @Column(name = "CHANNEL", nullable = false)
    private Integer channel;

    @Column(name = "LAST_FRAME_TS", columnDefinition = "datetime(6)", nullable = false)
    private Date lastFrameTs;

    public Long getVideoSourceId() {
        return videoSourceId;
    }

    public void setVideoSourceId(Long videoSourceId) {
        this.videoSourceId = videoSourceId;
    }

    public Integer getChannel() {
        return channel;
    }

    public void setChannel(Integer channel) {
        this.channel = channel;
    }

    public Date getLastFrameTs() {
        return lastFrameTs;
    }

    public void setLastFrameTs(Date lastFrameTs) {
        this.lastFrameTs = lastFrameTs;
    }

}

Hier mache ich meinen SELECT:

Java:
@Override
public List<FrameMonitorDataDTO> findFrameMonitorDataById(IdWrapper idWrapper) {
    Query query = entityManager.createQuery("SELECT f from FrameMonitorDataEntity f where f.videoSourceId = ?1 and f.viewId = ?2 and f.channel = ?3 order by f.lastFrameTs desc");
    query.setParameter(1, Long.parseLong(idWrapper.getVideoSourceId5()));
    query.setParameter(2, Long.parseLong(idWrapper.getViewId5()));
    query.setParameter(3, idWrapper.getChannel5());
    return FrameMonitorDataWrapper.toDTO(query.getResultList());
}

Das funktioniert. Ich würde aber gerne machen, dass meine Klasse wie folgt aussieht. Dann funktioniert aber meine findFrameMonitorDataById nicht mehr.

Java:
package com.a.vision.backend.database.entities;

import javax.persistence.*;
import java.util.Date;

@Entity
@Table(name = "FRAME_MONITOR_DATA")
public class FrameMonitorDataEntity {

    @EmbeddedId
    private FrameMonitorDataEntityPK pk;

    @Column(name = "VIEW_ID", nullable = false)
    private Long viewId;

    public FrameMonitorDataEntityPK getPk() {
        return pk;
    }

    public void setPk(FrameMonitorDataEntityPK pk) {
        this.pk = pk;
    }

    public Long getViewId() {
        return viewId;
    }

    public void setViewId(Long viewId) {
        this.viewId = viewId;
    }
}
 

Oneixee5

Top Contributor
Mit javax-Packages und eclipselink musste ich das früher immer so definieren:
Java:
    @EmbeddedId
    @AttributeOverrides({
        @AttributeOverride(name = "sjId", column = @Column(name = "SJ_ID", nullable = false, precision = 2, scale = 0)),
        @AttributeOverride(name = "eId", column = @Column(name = "E_ID", nullable = false, precision = 4, scale = 0)),
        @AttributeOverride(name = "sort", column = @Column(name = "SORT", nullable = false, precision = 126, scale = 0)) })
    private BsKommunikationId id;

Java:
@Embeddable
public class BsKommunikationId implements Serializable {

    private static final long serialVersionUID = ...

    @Column(name = "SJ_ID", nullable = false, precision = 2, scale = 0)
    private int sjId;

    @Column(name = "E_ID", nullable = false, precision = 4, scale = 0)
    private int eId;

    @Column(name = "SORT", nullable = false, precision = 126, scale = 0)
    private double sort;

    ...
}
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Hibernate / JPA - Spaltenname von Query (Select) bekommen Datenbankprogrammierung 6
OnDemand Select * from bringt keine Rückgabe Datenbankprogrammierung 49
OnDemand Select vs Update ins blaue, was ist teurer? Datenbankprogrammierung 11
M JPA: select all mit unterschiedlichem Tablename Datenbankprogrammierung 2
A MySQL Select und Insert in Java Datenbankprogrammierung 15
J JPA: Wie sieht der select aus? Datenbankprogrammierung 2
D geänderte SELECT Abfragen Datenbankprogrammierung 15
N SQLite Hibernate und Aufruf von Funktion SELECT last_insert_rowid() Datenbankprogrammierung 2
T sqlite select Datenbankprogrammierung 12
D Oracle NullPointerException bei select mit Null Values Datenbankprogrammierung 5
F MySQL Was bedeuten die Einzelnen Zeichen in Select Querrys? Datenbankprogrammierung 1
J SQL SELECT mit einem Array Datenbankprogrammierung 1
J SELECT Abfrage/Suche Datenbankprogrammierung 4
E Kann man in einer if-Bedingung auch SELECT-Statements überprüfen? Datenbankprogrammierung 23
M SQL-Exception trotz funktionierendem SELECT Datenbankprogrammierung 4
U PostgreSQL SELECT Statement Datenbankprogrammierung 5
L Select Anweisung wird falsch interpretiert Datenbankprogrammierung 3
C HSQLDB Platzhalter in SELECT Datenbankprogrammierung 6
I SELECT bei Datenbankverbindung Datenbankprogrammierung 6
C MySQL JPA - namedQuery (SELECT) -getResultList() - liefert falsches Ergebnis Datenbankprogrammierung 1
S select: alle ergebnisse ermitteln Datenbankprogrammierung 5
G SQLite SQLite Select für View vereinfachen/optimieren Datenbankprogrammierung 4
C SQL-Statement SELECT über 3 Tabellen Datenbankprogrammierung 5
H HSQLDB insert .... values("test1",select test2 from foo) Datenbankprogrammierung 2
D JDBC insert mit select abfrage Datenbankprogrammierung 5
W SELECT oder Programm-Logik Datenbankprogrammierung 10
J Hibernate Select auf Parameterliste Datenbankprogrammierung 3
T MySQL Dynamisch Suchen Select Datenbankprogrammierung 4
D ArrayList in Select Datenbankprogrammierung 12
N Select mit join Datenbankprogrammierung 3
F Oracle select sum() join select sum() Datenbankprogrammierung 9
B SELECT ja - INSERT nein (MySQL) Datenbankprogrammierung 3
R Oracle Performance bei SELECT mit vielen Reihen Datenbankprogrammierung 5
T MySQL Db select * und Insert schlagen fehl Datenbankprogrammierung 2
I Select-Statement optimieren Datenbankprogrammierung 14
M Variable in SQL SELECT * FROM ... WHERE mithilfe von PreparedStatement benutzen? Datenbankprogrammierung 28
R Derby/JavaDB Möglichkeit von einem Random Select! Datenbankprogrammierung 6
B Mehrfachschachtelung SELECT Datenbankprogrammierung 2
T MySQL Select: Zusammenfassen von Daten und bilden von Durchschnitt? Datenbankprogrammierung 4
GianaSisters MySQL Datenbank Select error Datenbankprogrammierung 5
R Select Statement als temporärer Table Datenbankprogrammierung 7
R Derby/JavaDB Select Statement Where bedingung will nicht ganz! Datenbankprogrammierung 4
R Derby/JavaDB Select TOP Statement geht nicht Datenbankprogrammierung 3
S MySQL Problem mit SELECT bzw encoding Datenbankprogrammierung 4
B HSQLDB Probleme mit Select...Where Abfrage Datenbankprogrammierung 16
F wie funktioniert if Statement in SELECT? Datenbankprogrammierung 2
J [Hibernate] Select Statement Datenbankprogrammierung 4
A SQLite SELECT von ungleichen Spaltenpaaren Datenbankprogrammierung 10
Eldorado MySQL SELECT mit GROUP BY und INNER JOIN Datenbankprogrammierung 2
M Hibernate JPQL SELECT optional? Datenbankprogrammierung 2
C Datenbank-Abfrage, if im Select Datenbankprogrammierung 9
G Aufruf von SELECT INTO Datenbankprogrammierung 8
B H2 PreparedStatement SELECT * FROM ? Datenbankprogrammierung 4
X Select Query auf Substring Datenbankprogrammierung 2
S Select eines bestimmten Datensatzes Datenbankprogrammierung 4
M Select * from mydaten where ... Datenbankprogrammierung 4
T Unerwartete Datenbankausgabe bei "select now()" (es wird ein .0 angehängt) Datenbankprogrammierung 5
M Probleme bei Select in Schleife Datenbankprogrammierung 7
G SELECT liefert leere Zeilen Datenbankprogrammierung 32
M SELECT longtext -> als String behandeln Datenbankprogrammierung 6
H Select in einem Select Datenbankprogrammierung 7
G Select- Abfrage Datenbankprogrammierung 19
S Insert mit Select Datenbankprogrammierung 6
G MSSQL Server SELECT Abfrage funktioniert nicht Datenbankprogrammierung 4
R SELECT aus hsqldb mit Parameter Datenbankprogrammierung 2
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
A Problem mit einem Select-Befehl Datenbankprogrammierung 5
E Neues select auf ein vorhandenes Resultset Datenbankprogrammierung 11
A SELECT-Anweisung liefert keine Datensätze zurück Datenbankprogrammierung 9
S Select über mehrere Datenbanksysteme Datenbankprogrammierung 14
P SELECT Datenbankprogrammierung 20
T select Abfrage in Java Integer speichern ? Datenbankprogrammierung 2
B fehler bei select befehl Datenbankprogrammierung 5
S Select von bis in DB2 Datenbankprogrammierung 8
S Select mit PreparedStatement Datenbankprogrammierung 2
E Ein If und ein SELECT in Oracle? Datenbankprogrammierung 2
T Select Statement auf Relation Datenbankprogrammierung 3
S PostgreSQL SELECT/UPDATE etc. Datenbankprogrammierung 4
4 Probleme mit Select abfrage Datenbankprogrammierung 4
G Fehler in der select-Abfrage Datenbankprogrammierung 3
N SELECT: Datensatz sperren Datenbankprogrammierung 6
isowiz SELECT SUM() Ergebnis in Java abfragen Datenbankprogrammierung 6
T LIMIT In SELECT Anweisung Datenbankprogrammierung 4
R Select und Insert in Schleife - Problem mit ResultSet Datenbankprogrammierung 2
G SELECT Name= " " verhindern Datenbankprogrammierung 5
G Syntax für Select - Abfrage mit Variablen Datenbankprogrammierung 39
J SELECT-Statement Datenbankprogrammierung 4
R Select auf der Konsole ausgeben Datenbankprogrammierung 2
D brauche mal kurz hilfe bei einem select-stmt Datenbankprogrammierung 6
G Select-Abfragen sind sehr langsam Datenbankprogrammierung 7
D HSQLSB SELECT Datenbankprogrammierung 9
S MongoDB löschung ohne Cascade Datenbankprogrammierung 1
P Derby/JavaDB Datenbanktabelle erweitern, ohne Tabelle zu ändern Datenbankprogrammierung 6
D OpenJPA Zeichenvorrat in DB & Fremdschlüssel ohne Entität Datenbankprogrammierung 5
B Inner Join ohne SQL Syntax Datenbankprogrammierung 2
M MySQL Verbindung zum Server aufbauen ohne DB ansprechen Datenbankprogrammierung 2
ruutaiokwu sql abfrage mit rekursion, mit oder ohne cte... Datenbankprogrammierung 5
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
N SQL-Injection verhindern OHNE PreparedStatements Datenbankprogrammierung 11
D Hibernate CreateQuery ohne Result Datenbankprogrammierung 7

Ähnliche Java Themen


Oben