non ho familiarità con Postgres
ed i suoi tipi, ma si può definire un tipo utilizzando custom basic type mapping. Questo potrebbe semplificare la query.
Ci sono molti thread qui su SO per quanto riguarda i tipi di array Postres e Hibernate, ad esempio, this one. Un altro esempio di mappatura di array che potrebbe essere utile is here. Finalmente, here is an example di usare i criteri con il tipo di utente.
esempio di codice potrebbe essere
List result = session.createCriteria(Cpfbloqueado.class)
.setProjection(Projections.projectionList()
.add(Projections.property("characterColumn.attribute"), PostgresCharArrayType.class)
)
.setResultTransformer(Transformer.aliasToBean(Cpfbloqueado.class))
.add(...) // add where restrictions here
.list()
Inoltre, se non è importante per l'attuazione, è possibile definire la lunghezza massima nel modello di entità, annotare il vostro campo con @Column(length = 1)
.
Oppure se è necessario memorizzare una serie di caratteri con lunghezza di 1
è possibile utilizzare uno collection type.
Spero di aver capito bene, tuttavia, sarebbe bello se il dominio del problema fosse descritto meglio.
fonte
2016-04-15 12:45:57
ha controllato: http://stackoverflow.com/questions/22649964/how-to-save-or-retrieve-an-array-column-using-hibernate –
Se si guarda l'ultima risposta, è mia. – user3503888
Puoi inserire il codice sorgente che hai provato? – SubbaReddy