使用hibernate,我如何才能仅在开发模式下启用show_sql?我要那个
在生产环境中禁用<property name="show_sql">true</property>,在开发环境中启用。
发布于 2012-04-24 11:48:28
您应该将与环境相关的信息保存在单独的属性文件中。应从您的hibernate.cfg.xml或applicationContext.xml.读取此文件
以下是示例文件
###########################################################
################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同样,您可以添加更多配置信息。这个文件在不同的环境中会有所不同。
发布于 2012-04-24 09:12:30
我从你的问题中假设“处于开发模式”是你的代码在运行时就知道的,否则你只需要修改配置文件中的标志即可。
在这种情况下,您可以在运行时以编程方式设置show_sql属性(或任何其他属性):
Configuration config = new Configuration();
config.setProperty(Environment.SHOW_SQL, "true");
config.buildSessionFactory();
...然后,您只需根据指示您是否处于开发模式的状态来选择true/false。
https://stackoverflow.com/questions/10289684
复制相似问题