В одном из моих классов гибернации у меня есть переменная Timestamp. Теперь все было хорошо, когда я использовал только спящий режим на сервере. Но сейчас я внедряю веб-сервис с помощью wsgen.
Я получаю ошибку, потому что у Timestamp нет конструктора по умолчанию без аргументов.
Сообщение *; 1005 *
Caused by: java.security.PrivilegedActionException: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
java.sql.Timestamp does not have a no-arg default constructor.
Класс:
package com.PTS42.planner;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.persistence.*;
import org.hibernate.annotations.GenericGenerator;
@WebService
@Entity @Table(name="Reserveringen")
public class Reservering implements Serializable {
@Id @GenericGenerator(name = "generator", strategy = "increment")
@GeneratedValue(generator = "generator")
private int id;
private Timestamp vanaf;
private Timestamp tot;
@ManyToOne
@Embedded
private Klant klant;
@ManyToOne
@Embedded
private Machine machine;
public int getId() {
return id;
}
public void setId(@WebParam(name="reservering_id")int id) {
this.id = id;
}
public Klant getKlant() {
return klant;
}
public void setKlant(@WebParam(name="reservering_klant")Klant klant) {
this.klant = klant;
}
public Timestamp getTot() {
return tot;
}
public void setTot(@WebParam(name="reservering_tot")Timestamp tot) {
int tempint = tot.getMonth();
tot.setMonth(tempint-1);
this.tot = tot;
}
public Timestamp getVanaf() {
return vanaf;
}
public void setVanaf(@WebParam(name="reservering_vanaf")Timestamp vanaf) {
int tempint = vanaf.getMonth();
vanaf.setMonth(tempint-1);
this.vanaf = vanaf;
}
public Machine getMachine() {
return machine;
}
public void setMachine(@WebParam(name="reservering_machine")Machine machine) {
this.machine = machine;
}
public Reservering() {
}
public Reservering(@WebParam(name="reservering_constructor_vanaf") Timestamp vanaf, @WebParam(name="reservering_constructor_tot")Timestamp tot, @WebParam(name="reservering_constructor_klant")Klant klant, @WebParam(name="reservering_constructor_machine")Machine machine)
{
this.vanaf = vanaf;
this.tot = tot;
this.klant = klant;
this.machine = machine;
}
}
Кто-нибудь знает, как решить эту проблему, не используя переменную другого типа, кроме Timestamp.