|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
主要缺点就是:速度比较慢,没有C和C++快
浏览了Hibernate的Reference以后,能够接纳批量处置的办法,当拔出的数据凌驾10000时,就flushsession而且clear。
上面是一个测试method。
1 /***//**
2 *测试成批拔出数据的事件处置,前往是不是乐成
3 *
4 * @param objPOObject
5 * @return boolean
6 */
7 public boolean insertBatch(final ObjectobjPO) {
8 boolean isSuccess = false;
9 Transactiontransaction = null;
10 Sessionsession = openSession();
11 try {
12 transaction = session.beginTransaction();
13 for (int i = 0;i < 100000;i++) {
14 session.save(objPO);
15 if (i % 50 == 0) {
16 // flushabatchofinsertsandreleasememory
17 session.flush();
18 session.clear();
19 }
20 }
21 transaction.commit();
22 logger.info("transaction.wasCommitted:"
23 + transaction.wasCommitted());
24 isSuccess = true;
25 } catch (HibernateExceptionex) {
26 if (transaction != null) {
27 try {
28 transaction.rollback();
29 logger.error("transaction.wasRolledBack:"
30 + transaction.wasRolledBack());
31 } catch (HibernateExceptionex1) {
32 logger.error(ex1.getMessage());
33 ex1.printStackTrace();
34 }
35 }
36 logger.error("InsertBatchPOError:" + ex.getMessage());
37 ex.printStackTrace();
38 } finally {
39 if (transaction != null) {
40 transaction = null;
41 }
42 session.close();
43 }
44 return isSuccess;
45 }
46
<p>
但是一些大型开发或者是保密型比较高的项目都会用java,原因有2点,一:java是开源的,不怕别人留后门,偷我工具,.net就不一样了,保持微软的一向风格,源代码不公开 |
|