Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara memberikan nilai yang dihasilkan Pemicu ke Hibernate ValueObject?

Jika Anda menggunakan pemicu, strategi pembuatan yang dimaksud adalah org.hibernate.id.SelectGenerator . Namun, untuk menggunakan strategi ini, Hibernate harus dapat menemukan baris yang disisipkan setelah penyisipan untuk melihat nilai apa yang ditetapkan oleh pemicu. Ada 2 cara untuk melakukannya.

Pertama, secara khusus mengonfigurasi generator untuk memberi tahu kolom yang mendefinisikan kunci unik (setidaknya secara logika) di dalam tabel:

@Id
@Column(name="S_ID")
@GeneratedValue( strategy = "trigger" )
@GenericGenerator( 
    name="trigger", strategy="org.hibernate.id.SelectGenerator",
    parameters = {
        @Parameter( name="keys", value="userName" )
    }
)
private String s_id;

private String userName;

Yang lainnya adalah melalui dukungan natural-id Hibernate:

@Id
@Column(name="S_ID")
@GeneratedValue( strategy = "trigger" )
@GenericGenerator( name="trigger", strategy="org.hibernate.id.SelectGenerator" ) )
private String s_id;

@NaturalId
private String userName;

GenerationType.IDENTITY dapat bekerja untuk Anda. Ini benar-benar akan turun ke driver JDBC dan bagaimana (jika) mengimplementasikan getGeneratedKeys



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hapus duplikat hanya menggunakan kueri MySQL?

  2. Menyimpan data plus data indeks di memori - InnoDB vs. MyISAM

  3. Bagaimana cara mengatur stempel waktu menjadi kueri yang lambat?

  4. mencegah penyisipan baris duplikat di php/mysql

  5. Cara mengurangi hak istimewa di MySQL