SELECT also requires transaction. It is impossible to execute SELECT w dịch - SELECT also requires transaction. It is impossible to execute SELECT w Việt làm thế nào để nói

SELECT also requires transaction. I

SELECT also requires transaction. It is impossible to execute SELECT without any transaction. The fact that you do not have to explicitly start and end a transaction when selecting data from DB using some SQL GUI tools is that these tools are using autocommit mode . In autocommit mode ,database will automatically start and commit the transaction for each single SQL statement such that you don't have to explicitly declare the transaction boundary.

If you do not end (i.e commit or rollback) a transaction , the database connection used by this transaction will not be released and your database will run out of the available connections eventually.

For hibernate ,it uses non-autocommit mode by default (which is specified by the property hibernate.connection.autocommit) . So we must declare the transaction boundary and make sure the transaction ends.

But if you only query data using hibernate API , it is okay even you do not explicitly declare the transaction boundary because of the followings:

Database will typically start a new transaction automatically when the current SQL statement requires one and no transaction is explicitly started before.
Session.close() will close() the underlying Connection .According to the JDBC specification , if java.sql.Connection#close() is called and there is an active transaction , the result of this active transaction depends on the JDBC vendor 's implementation. Usually , JDBC driver will automatically commit or rollback this transaction . But in this case, it doesn't matter whether the transaction commits or rollbacks because you have already get the data you want.
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
CHỌN cũng yêu cầu giao dịch. Nó là không thể thực hiện các lựa CHỌN mà không có bất kỳ giao dịch. Một thực tế rằng bạn không phải một cách rõ ràng bắt đầu và kết thúc giao dịch khi chọn dữ liệu từ bằng cách sử dụng một số công cụ giao diện SQL DB là những công cụ này sử dụng chế độ autocommit. Trong chế độ autocommit, cơ sở dữ liệu tự động sẽ bắt đầu và cam kết giao dịch cho mỗi một SQL tuyên bố như vậy mà bạn không cần phải khai báo rõ ràng ranh giới giao dịch.Nếu bạn không kết thúc (tức là cam kết hoặc quay ngược lại) một giao dịch, kết nối cơ sở dữ liệu được sử dụng bởi các giao dịch này sẽ không được phát hành và cơ sở dữ liệu của bạn sẽ chạy ra khỏi các kết nối sẵn dùng cuối cùng.Đối với hibernate, nó sử dụng chế độ autocommit theo mặc định (mà được chỉ định bởi hibernate.connection.autocommit bất động sản). Vì vậy, chúng ta phải khai báo các ranh giới giao dịch và đảm bảo rằng các giao dịch kết thúc.Nhưng nếu bạn chỉ truy vấn dữ liệu bằng cách sử dụng ngủ đông API, rồi thậm chí bạn không rõ ràng tuyên bố ranh giới giao dịch do các sau:Cơ sở dữ liệu sẽ thường bắt đầu một giao dịch mới tự động khi các lệnh SQL hiện nay đòi hỏi một và không có giao dịch một cách rõ ràng được bắt đầu trước.Session.Close() sẽ close() các kết nối cơ bản. Theo đặc điểm kỹ thuật JDBC, nếu java.sql.Connection#close() được gọi là và có một giao dịch hoạt động, kết quả của giao dịch này hoạt động phụ thuộc vào nhà bán JDBC thực hiện. Thông thường, JDBC trình điều khiển sẽ tự động cam kết hoặc quay ngược lại giao dịch này. Tuy nhiên, trong trường hợp này, nó không quan trọng cho dù giao dịch cam kết hoặc rollbacks bởi vì bạn đã nhận được dữ liệu mà bạn muốn.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
CHỌN cũng yêu cầu giao dịch. Nó là không thể thực hiện mà không có bất kỳ giao dịch CHỌN. Thực tế là bạn không cần phải bắt đầu một cách rõ ràng và kết thúc một giao dịch khi chọn dữ liệu từ DB sử dụng một số công cụ SQL GUI là những công cụ được sử dụng chế độ autocommit. Trong autocommit chế độ, cơ sở dữ liệu sẽ tự động khởi động và cam kết giao dịch cho mỗi câu lệnh SQL đơn như vậy mà bạn không cần phải khai báo rõ ràng ranh giới giao dịch.

Nếu bạn không kết thúc (tức là cam kết hoặc rollback) một giao dịch, các kết nối cơ sở dữ liệu được sử dụng bởi giao dịch này sẽ không được phát hành và cơ sở dữ liệu của bạn sẽ chạy ra khỏi các kết nối có sẵn cuối cùng.

Đối với chế độ ngủ đông, nó sử dụng chế độ không autocommit theo mặc định (được xác định bởi các hibernate.connection.autocommit tài sản). Vì vậy, chúng ta phải khai báo các ranh giới giao dịch và đảm bảo các giao dịch kết thúc.

Nhưng nếu bạn chỉ truy vấn dữ liệu bằng cách sử dụng chế độ ngủ đông API, nó không quan trọng, ngay cả bạn không khai báo rõ ràng ranh giới giao dịch vì những điều sau:

Cơ sở dữ liệu thông thường sẽ bắt đầu một giao dịch mới tự động khi các câu lệnh SQL hiện nay đòi hỏi phải có một và không có giao dịch được bắt đầu một cách rõ ràng trước.
Session.close () sẽ đóng cửa () Kết nối cơ bản .Theo các đặc điểm kỹ thuật JDBC, nếu java.sql.Connection # close () được gọi và có một hoạt động giao dịch, kết quả của giao dịch hoạt động này phụ thuộc vào việc thực hiện của nhà cung cấp JDBC. Thông thường, JDBC driver sẽ tự động cam kết hoặc rollback giao dịch này. Nhưng trong trường hợp này, nó không quan trọng cho dù giao dịch cam kết hoặc rollbacks vì bạn đã có được những dữ liệu mà bạn muốn.
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: