Ich erzeuge ein Datum und speichern in einer Datenbank durch den Ruhezustand, und wenn ich den Wert bekomme und ich vergleiche mit dem Wert, bevor es eingefügt wurde. Das Ergebnis ist nicht gleich!Warum ist assertEquals falsch, wenn es das gleiche Datum ist? Hibernate
habe ich das Datum wie folgt
Date rightnow = Calendar.getInstance().getTime();
Task t1 = new Task("My task", rightnow);
taskDao.saveOrUpdate(t1);
Task taskR1 = taskDao.get(t1.getIdTask());
assertEquals("They should have to be equal dates",taskR1.getDate(),t1.getDate());
ich diesesFehler immer mit t
<2014-04-11 23:13:13.0>
unterscheidet sich <Fri Apr 11 23:13:13 CEST 2014>
java.lang.AssertionError:
They should have to be equal dates
expected:<2014-04-11 23:13:13.0>
but was:<Fri Apr 11 23:13:13 CEST 2014>
Zusätzliche Informationen im Zusammenhang er Problem
Klasse Aufgabe
@Entity
@Table(name = "t_task")
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "idTask")
private long idTask;
...
@Column(name = "date")
private Date date;
...
Mysql Tabelle t_task
CREATE TABLE IF NOT EXISTS `mytask`.`t_task` (
`idTask` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`date` DATETIME NOT NULL
...
habe ich ein neues hashCode() und equals() Funktionen in Aufgabe, mit nur Datumsfeld und sogar so es ist anders.
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((date == null) ? 0 : date.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof Task))
return false;
Task other = (Task) obj;
if (date == null) {
if (other.date != null)
return false;
} else if (!date.equals(other.date))
return false;
return true;
}
Irgendeine Idee?
: 55 vs: 54?Sieht für mich nicht gleich aus - meine anfängliche Vermutung wäre, dass die Datenbank den Wert selbst setzt. – user2864740
Sind diese die gleichen 'Date' Typ? Sie sehen so aus, als hätten sie verschiedene "toString" -Formate. –
Ich habe eine andere Ausführung und den HashCode und gleiche Funktionen hinzugefügt, ich weiß nicht, was ich noch tun soll? – Joe