Il modo migliore per implementare un usertype ibernazione dopo le deprecazioni?

StackOverflow https://stackoverflow.com/questions/6083768

  •  08-09-2020
  •  | 
  •  

Domanda

Ho recentemente ottenuto l'ultima versione di Hibernate e ho notato che i miei usertypes ora hanno avvisi su AbstractStandardBasictype's Nullsafeget (ResultSet, String) e Nullsafeset (preparato, T, INT) I metodi Obsoleto a favore dei loro metodi corrispondenti che assumono un argomento sessionimplementor. Il problema è che quando implementissi un'utente, il sessionimplementor non viene passato a te come lo fa in basebype, compositoUserType, ecc.

Ho controllato il manuale di ibernazione per vedere se c'è stato un esempio aggiornato. Il loro esempio di usertype utilizza Get / Set invece di Nullsafeget / Nullsafeset, ma tali metodi sono stati deprecati anche a favore delle versioni che prendono un sessionimplementor. Quindi, sembra che l'esempio ufficiale di usertype ufficiale di Hibernate stia usando metodi deprecati, che mi porta a chiedersi due cose:

    .
  1. C'è un buon modo per ottenere il sessionimplementor dall'inserisci l'usertype?
  2. Se non è pratico ottenere il sessionimplementor da usertype, e non voglio scrivere il mio nullsafeget / nullsafeset, dovrei abbandonare l'usertype a favore di una delle sue alternative? Quali sono le differenze pratiche tra usertype e, ad esempio, basebype?
È stato utile?

Soluzione

Grazie a Ryan Ransford per il suo commento sulla mia domanda originale.Sebbene non sia davvero una soluzione al problema, il link ha fornito dalIbernate Developers Mailing List spiega perché nessuna soluzione è disponibile.

.

Un'alternativa non deprezzata non può essere fornita in 3.6.x, perché fare Quindi romperei le implementazioni di usertype.

Considerando che questi sono solo avvertimenti deprecati, non ha senso investire troppo tempo in una soluzione alternativa che sarà obsoleta quando è disponibile il prossimo rilascio della non-manutenzione.Sfortunatamente, la prossima grande versione è 4.0, non 3.7, quindi la migrazione potrebbe essere un po 'più coinvolta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top