4 Stimmen

HIbernate show_sql nur Entwicklung

Mit hibernate wie kann ich show_sql nur im Entwicklungsmodus aktivieren? Ich möchte, dass
<property name="show_sql">true</property> für die Produktionsumgebung deaktiviert und für die Entwicklungsumgebung aktiviert werden.

3voto

ManuPK Punkte 11403

Sie sollten umweltbezogene Informationen in einem separaten Ordner aufbewahren Eigenschaften Datei. Diese Datei sollte von Ihrem hibernate.cfg.xml o applicationContext.xml .

Hier eine Beispieldatei

###########################################################
################DATABASE INFORMATION ######################
###########################################################
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/appDB1
jdbc.username=root
jdbc.password=root

# Set Hibernate properties
hibernate.show_sql=true
hibernate.format_sql=false

Auf ähnliche Weise können Sie weitere Konfigurationsinformationen hinzufügen. Diese Datei wird in verschiedenen Umgebungen unterschiedlich aussehen.

1voto

sharakan Punkte 6741

Ihrer Frage entnehme ich, dass Ihr Code zur Laufzeit weiß, dass er sich im "Entwicklungsmodus" befindet, denn sonst würden Sie einfach das Flag in der Konfigurationsdatei ändern.

In diesem Fall können Sie die Eigenschaft show_sql (oder jede andere Eigenschaft) zur Laufzeit programmatisch festlegen:

Configuration config = new Configuration();
config.setProperty(Environment.SHOW_SQL, "true");
config.buildSessionFactory();
...

dann müssen Sie nur true/false auswählen, je nachdem, ob Sie sich im Entwicklungsmodus befinden oder nicht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X