Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Update Timestamp field Spring JPA within Query annotation

How can I set FROZEN_DATE with current time when updating frozen state while using @Query annotation. If I update fields other than frozen frozen_state will not be updated.

@Repository
public interface UserEntryRepository extends CrudRepository <UserEntry, String> {

   UserEntry findByUsername(String username);

   @Transactional
   @Modifying
   @Query("UPDATE UserEntry o SET o.frozen = 1 WHERE o.username = :username")
   int setFrozenForOfuser(@Param("username") String username);

}

Entity:

@Entity
@Table(name = "OFUSER", schema = "TIMS")
public class UserEntry implements Serializable {

   private static final long serialVersionUID = 546720609517412501L;

   @Id
   @Column(name = "USERNAME", nullable = false)
   private String username;

   @Column(name = "FROZEN")
   private Integer frozen;

   @Column(name = "FROZEN_DATE")
   private Date frozendate;


}
like image 435
Ahmet Karakaya Avatar asked Sep 15 '25 14:09

Ahmet Karakaya


1 Answers

You can use CURRENT_DATE like this :

UPDATE UserEntry o SET o.frozen = 1, o.frozen = CURRENT_DATE WHERE o.username = :username
like image 147
YCF_L Avatar answered Sep 17 '25 03:09

YCF_L