Domanda

Dopo essere stato googling per ore, mi rendo conto che gli utenti possono utilizzare file XML (orm.xml, suppongo?) O le annotazioni in JPA, o di entrambi allo stesso tempo. Sono correggo? Quindi, il mio progetto usa la cache di secondo livello, che non è nella specifica JPA. E io uso le annotazioni come: @ org.hibernate.annotations.Cache (utilizzo = org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE )

per ogni entità. Tuttavia, credo che l'annotazione di cui sopra non appartiene ad essere JPA annotazioni, di conseguenza, non so se c'è qualcosa di equivalente in orm.xml? Ho avuto uno sguardo alla schema XML di orm.xml, e non v'è tale elemento Hibernate consentita nello schema.

Se non riesco a fare la cache di secondo livello di configurazione nel orm.xml, c'è un modo diverso da quello in l'annotazione? La ragione per cui io non voglio farlo l'annotazione è perché ho due applicazioni, una strategia di utilizzo concorrenza READ_WRITE e un'altra strategia utilizzo READ_ONLY concorrenza.

Grazie in anticipo !!!

Kewei

È stato utile?

Soluzione 3

Pertanto, penso che la soluzione attuale per il mio problema è quello di sostituire tutte le annotazioni di ogni entità con file di mapping Hibernate, in modo che per diverso schieramento (applicazione pure), potremmo utilizzare diversi file di mapping Hibernate.

Altri suggerimenti

è possibile utilizzare i hibernate.cfg.xml, hibernate.properties o file * .hbm.xml per accendere la cache su oggetti specifici con differenti strategie di caching

Se non si desidera utilizzare le annotazioni, quindi controllare la documentazione della vostra implementazione cache di secondo livello di ibernazione (alias "fornitore di cache", ad esempio, EHCache ) come configurarlo.

Si noti che Hibernate permette di utilizzare diversi fornitori di cache, quindi non c'è una risposta generale alla tua domanda.

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