Как автоматически вставить текущую дату в SQL с помощью Java / Hibernate - PullRequest
3 голосов
/ 25 февраля 2012

Мне нужно автоматически добавить текущую дату в мою базу данных при создании нового OperantionBank. Я использую Hibernate. Спасибо

import java.io.Serializable;
import java.sql.Date;
import javax.persistence.*;
import org.hibernate.annotations.Generated;
import org.hibernate.annotations.GenerationTime;

@Entity
public class OperationBank implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

private String wordring;

private Double amount;

@Generated(GenerationTime.ALWAYS)
@Temporal(javax.persistence.TemporalType.DATE)
private Date dateoperation = new java.sql.Date(new java.util.Date().getTime());

@OneToOne
private Account account;

Ответы [ 3 ]

4 голосов
/ 21 ноября 2013

Хотя Эмиль Х правильно, я хотел бы добавить, что вы тоже должны работать.

Скорее всего, это не так, потому что имя столбца (вы сказали, что это «дата») не соответствует имени поля («dateoperation»).

Вы можете переименовать поле / столбец или добавить аннотацию:

@Column(name = "date")

Также обратите внимание: вам не нужно использовать java.sql.Date , он также должен работать с java.util.Date .

import java.util.Date;
...

@Column(name = "date")
private Date dateoperation = new Date();
2 голосов
/ 25 февраля 2012

Этот ответ может вам помочь:

https://stackoverflow.com/a/221827/355499

По сути, вы используете аннотации @PrePersist и / или @PreUpdate для создания дат, когда это необходимо.

0 голосов
/ 19 июля 2018

Просто используйте:

@CreatedDate
@Temporal(TemporalType.DATE)
@Column(name = "start_date")
private Date startDate;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...