Hibernate笔试题解析:数据持久化与对象关系映射

需积分: 9 1 下载量 201 浏览量 更新于2024-08-05 收藏 484KB PDF 举报
"Hibernate常见笔试题_csdn_sty945.pdf" 这篇文章主要涉及的是Hibernate这一流行的Java持久化框架的相关知识。Hibernate是一个基于Java的开源对象关系映射(ORM)框架,它允许开发者将Java对象与关系数据库进行映射,从而简化数据库操作。 1) 数据访问层(DAL)是三层架构中的一个重要组成部分,它的主要职责是(b) 数据的增删改查操作,而不是定义实体类、描述业务逻辑或页面展示和控制转发。 2) 数据持久化是指将数据从内存中的瞬时状态转换为能够在系统关闭后仍然存在的持久状态。选项(d) 错误地表示数据持久化是将数据从持久状态转换为瞬时状态。 3) Hibernate是(a) “对象-关系映射”的实现,(b) 是一种数据持久化技术,但(c) 并不是JDBC的替代技术,而是对JDBC的一种抽象和优化,使得数据库操作更加简便。 4) Hibernate的配置文件通常包括(b) 实体间关联的配置,(c) show_sql等参数的配置以及(d) 数据库连接信息。而不包含(a) “对象-关系映射”信息,因为这些信息通常在Hibernate的XML映射文件中定义。 5) Hibernate关系映射中,(b) inverse属性通常用在<set>节点上,表示对方(被引用的一方)负责关联的维护。 6) 要实现当删除客户数据时自动删除关联的订单数据,可以将客户和订单关联的cascade属性设置为(all)。这将触发级联操作,确保所有关联的订单在客户删除时一同被删除。 7) 在一对多关联配置中,(b) 配置错误可能是未指定 cascade 属性,或者设置了不适当的级联操作;(d) 错误可能在于多对一关联的inverse属性设置不当,通常在一对一或多对一关联中,一方设置inverse属性为true表示关联的维护由另一方负责。 以上内容涵盖了Hibernate的基础概念、配置、以及关联映射中的关键属性,这些都是在面试或笔试中可能会遇到的问题。对于Java开发人员来说,理解并熟练掌握Hibernate的使用对于提升开发效率和代码质量至关重要。

下面android代码是上传的照片,现在要求上传完后吧照片从相册里删掉,怎么做? private void doSubmitUpload_W() { Map<String, Object> uploadparams = null; try { if ((mPgDialog != null) && mPgDialog.isShowing()) { mPgDialog.dismiss(); } mPgDialog = createPhotoDialog_W(R.string.photo_uploading_and_wait); mPgDialog.show(); uploadCallback_w = new AjaxCallback<JSONObject>() { @Override public void callback(String url, JSONObject json, AjaxStatus status) { if ((mPgDialog != null) && mPgDialog.isShowing()) { TakeTxPhotoActivity.this.mPgDialog.dismiss(); } // 解析结果 TakeTxPhotoActivity.this.parseUploadResult_w(url, json, status); } }; Long staffId = SessionManager.getInstance().getStaffId() == null?-1L:SessionManager.getInstance().getStaffId(); uploadparams = new HashMap<String, Object>();// ParamHelper.buildJSONParam(URLs.UPLOADFILE_API,json); byte[] photots = Bitmap2Bytes(ImageUtils.getBitmapByPath(mWorkAdapter.get( curPhotoPos_W).getThumbnailPath())); uploadparams.put("photoFile2",photots); uploadparams.put("StaffId", staffId); uploadparams.put("StaffName", session.getStaffInfo().getStaffName()); uploadparams.put("OrderID", orderId); uploadparams.put("WorkOrderID", workOrderId); uploadparams.put("TypeName", "WORK"); uploadparams.put("photosType", mWorkAdapter.get(curPhotoPos_W).getPhotosType()); Log.e(TAG, "请求参数json:" + uploadparams.toString()); // 异步网络请求 aQuery.ajax(BaseURLs.UPLOAD_KT_PHOTO, uploadparams, JSONObject.class, uploadCallback_w); } catch (Exception ex) { AlertUtils.showAlert(TakeTxPhotoActivity.this, R.string.opt_prompt, R.string.unknown_error); ex.printStackTrace(); } }

2023-07-11 上传