Tôi chưa thể nhận thêm bất kỳ đầu ra bàn điều khiển nào (để trợ giúp gỡ lỗi) từ Hibernate mặc dù đã đặt một vài thuộc tính trong tệp hibernate.cfg.xml
. Ví dụ, việc thêm dòng <property name="show_sql">true</property>
không thực sự hiển thị các câu lệnh SQL trong bảng điều khiển.Làm cách nào để nhận thêm thông báo gỡ lỗi từ Hibernate?
Tôi cũng đã thử phát xung quanh với nội dung của tệp log4j.properties
- như cài đặt log4j.logger.org.hibernate=debug
- không có may mắn. Tôi đang thiếu gì?
Edit: các nội dung của tập tin ngủ đông-service.xml là
<server>
<mbean code="org.jboss.hibernate.jmx.Hibernate"
name="jboss.har:service=Hibernate_SMS">
<attribute name="DatasourceName">java:/SMS_DS</attribute>
<attribute name="Dialect">org.hibernate.dialect.HSQLDialect</attribute>
<attribute name="SessionFactoryName">java:/hibernate/SessionFactory</attribute>
<attribute name="CacheProviderClass">org.hibernate.cache.HashtableCacheProvider</attribute>
<attribute name="ShowSqlEnabled">true</attribute>
</mbean>
</server>
Tôi không chắc chắn 100% nếu điều này thực sự có tác dụng, mặc dù. Tệp XML đó nằm trong dự án Eclipse xử lý các công cụ cơ sở dữ liệu của tôi, nhưng dường như không nằm trong thư mục triển khai JBoss.
Chỉnh sửa 2: này chắc chắn triển khai như một HAR. Điều đó nói rằng, tôi khá chắc chắn rằng tôi cần hibernate.cfg.xml
- Tôi nhớ có vấn đề khi một tài liệu lập bản đồ được bỏ qua như là một mục trong tập tin đó. Tôi nghĩ rằng HAR được tạo ra sử dụng kiến - có một mục tiêu cho nó trong file build.xml:
<target name="har" depends="prepare" description="Builds the Hibernate HAR file">
<mkdir dir="${class.root}" />
<mkdir dir="${distribution.dir}" />
<jar destfile="${distribution.dir}/${har.name}">
<!-- include the hbm.xml files -->
<fileset dir="${class.root}">
<include name="**/*.hbm.xml"/>
<include name="com/[redacted]/sms/data/dto/*.class"/>
<include name="com/[redacted]/sms/data/dto/base/*.class"/>
</fileset>
<!-- include jboss-service.xml -->
<metainf dir="${hibernate.dir}">
<include name="hibernate-service.xml"/>
</metainf>
</jar>
</target>
nhưng khi tôi làm kiến xây dựng với xml sai-hình thành trong tập tin ngủ đông-service.xml, nó không thất bại. Cập nhật Ngay cả việc xóa hoàn toàn tệp cũng không gây ra lỗi xây dựng. Có ý tưởng nào ở đây không? Cập nhật cuối
Nghe có vẻ như Hibernate để xuất các câu lệnh SQL nên (nếu mọi thứ được thiết lập chính xác) sẽ xử lý hoàn toàn - điều đó có nghĩa là các cài đặt trong log4j.properties sẽ không tạo sự khác biệt ở đây? - bởi vì thực tế hiện thay đổi đầu ra khi chạy ant.
Sửa 3: Sau khi chạy vào các vấn đề khác lạ với dữ liệu của tôi har
, tôi đã xóa các tập tin har hoàn toàn và xây dựng lại nó bằng cách sử dụng har
kiến xây dựng mục tiêu. Đột nhiên mọi thứ đều hoạt động! Nhờ chơi cờ cho sự hữu ích tuyệt vời của mình. Không thể nói rằng tôi biết chính xác những gì đã làm nó cuối cùng, nhưng tôi muốn thừa nhận những nỗ lực của mình hơn là viết và chấp nhận câu trả lời của riêng tôi; Lời xin lỗi của tôi nếu bạn không phải là "anh ấy".
'hibernate.show_sql' (hoặc, 'ShowSqlEnabled' trong JBoss MBean) không phụ thuộc vào cấu hình khai thác gỗ; nếu được bật, nó sẽ luôn in SQL để điều khiển. Việc đặt 'org.hibernate.SQL = DEBUG' trong cấu hình trình ghi nhật ký thích hợp sẽ thực hiện tương tự nhưng với bất kỳ đầu ra nào được cấu hình cho trình ghi nhật ký. Cả hai phương pháp đều độc lập với nhau (ví dụ: nếu bạn đặt cả hai bạn sẽ nhận được sql được in hai lần) – ChssPly76