Domanda

Quindi Hibernate supporta l'ultima versione di Firebird, che è davvero eccezionale. Ma ...

Sono arrivato qui un database Firebird 1.5.2. My Grails App utilizza questo database tramite Hibernate ... finora tutto fantastico.

Le mie app invia query con funzioni non note al mio database. Ad esempio la funzione INFERIORE, che ora è supportata in Firebird dalla 2.x.

La mia domanda: È possibile ottenere un dialetto ibernazione speciale per il mio database? Attualmente sto usando: dialect = " org.hibernate.dialect.FirebirdDialect "

Come posso aiutare il mio database a gestire queste funzioni sconosciute?

È stato utile?

Soluzione

È possibile creare la propria classe dialettale sottoclassando FirebirdDialect e sovrascrivendo tutte le funzioni che dovrebbero restituire valori diversi.

Per il semplice caso in cui è necessario rinominare la funzione utilizzata da Hibernate per le lettere minuscole, è possibile semplicemente impostare quanto segue nella configurazione di Hibernate:

hibernate.query.substitutions toLowercase = mylower

Tuttavia, poiché Firebird 1.5 non ha alcun tipo di funzione toLowercase, è necessario implementarlo da soli come descritto nella documentazione di Firebird .

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