Ребята есть такой sql запрос
SELECT count(*) as anzahl, DATE_FORMAT(timeStamp,'%d.%m.%Y') FROM state s
group by DATE_FORMAT(timeStamp,'%d.%m.%Y')
order by DATE_FORMAT(timeStamp,'%d.%m.%Y') asc
timeStamo это колонка в Таблицы State у которой type timestamp.
Используется база MySQL
Как мне его обыграть при помощи Criteria?
вот мапинг класса State
package de.hacon.requests;
import java.io.Serializable;
import java.util.Calendar;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.hibernate.annotations.Type;
@Entity
public class State implements Serializable {
private long id;
private Calendar timeStamp;
private int nrOfUsedCommSocket;
private int jobQueueDepth;
private String clientIp;
private String serverIp;
public State() {
}
public State(Calendar timeStamp, int nrOfUsedCommSocket, int jobQueueDepth, String clientIp, String serverIp) {
super();
this.timeStamp = timeStamp;
this.nrOfUsedCommSocket = nrOfUsedCommSocket;
this.jobQueueDepth = jobQueueDepth;
this.clientIp = clientIp;
this.serverIp = serverIp;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
@Column(nullable = false)
public String getClientIp() {
return clientIp;
}
public void setClientIp(String clientIp) {
this.clientIp = clientIp;
}
@Column(nullable = false)
public int getJobQueueDepth() {
return jobQueueDepth;
}
public void setJobQueueDepth(int jobQueueDepth) {
this.jobQueueDepth = jobQueueDepth;
}
@Column(nullable = false)
public int getNrOfUsedCommSocket() {
return nrOfUsedCommSocket;
}
public void setNrOfUsedCommSocket(int nrOfUsedCommSocket) {
this.nrOfUsedCommSocket = nrOfUsedCommSocket;
}
@Column(nullable = false)
public String getServerIp() {
return serverIp;
}
public void setServerIp(String serverIp) {
this.serverIp = serverIp;
}
@Column(name = "timeStamp", nullable = false)
@Temporal(TemporalType.TIMESTAMP)
@Type(type="calendar")
public Calendar getTimeStamp() {
return timeStamp;
}
public void setTimeStamp(Calendar timeStamp) {
this.timeStamp = timeStamp;
}
}