Jalankan metode sebelum menyimpan model di Play Framework 1.x

Bagaimana cara menjalankan metode sebelum menyimpan model?

Seperti misalnya hashing kata sandi dalam Model Pengguna.

@Before anotasi sepertinya tidak ada untuk model.

Saya menggunakan PlayFramework 1.2.x

PS : Saya berencana menggunakannya dengan Modul CRUD.


person Gautam    schedule 20.05.2012    source sumber
comment
Apakah Anda mencari jenis panggilan balik @PrePersist JPA?   -  person Ahamed Mustafa M    schedule 20.05.2012
comment
@AhamedMustafaM : Ya, tapi saya tidak butuh sesuatu yang rumit. Cukup jalankan suatu metode lalu simpan.   -  person Gautam    schedule 20.05.2012


Jawaban (1)


Lihat koleksi Pre* anotasi di JPA. Misalnya PrePersist dan PreUpdate.

Dalam model Anda, cukup tempelkan anotasi yang Anda perlukan ke metode yang ingin Anda panggil.

@PrePersist
public void hashPassword(){
    // do stuff
}

Opsi lain mungkin untuk mengganti metode save() untuk model tertentu, tapi saya tidak akan melakukan itu kecuali benar-benar diperlukan. Saya akan tetap menggunakan JPA API jika mereka menawarkan solusi, tapi itu hanya pendapat saya.

person Jeremy    schedule 20.05.2012
comment
Sebenarnya saya melakukan riset setelah Anda menyebutkan override save(), Ternyata override save() bukanlah Ide yang buruk karena memanggil _save() yang berisi logika bisnis sebenarnya, lihat stackoverflow.com/a/5419083/492561 - person Gautam; 20.05.2012
comment
Bagus. Saya akan menambahkan tautan ke jawaban saya untuk kelengkapan. - person Jeremy; 20.05.2012