`
文章列表
   hibernate的保存hibernate对于对象的保存提供了太多的方法,他们之间有很多不同,这里细说一下,以便区别:一、预备知识:在所有之前,说明一下,对于hibernate,它的对象有三种状态,transient、persistent、detached下边是常见的翻译办法:transient:瞬态或者自由态persistent:持久化状态detached:脱管状态或者游离态 游离状态的实例可以通过调用save()、persist()或者saveOrUpdate()方法进行持久化。持久化实例可以通过调用 delete()变成脱管状态。通过get()或load()方法得到的实例都是 ...
【将复杂的运算分解到其它过程】 此种思想将整个系统的操作看成一个整体,类似于负载均衡。在系统中常见的一个问题是,数据量比较大,对数据的查询统计变得很复杂很缓慢。对于这种问题应该在设计时就进行考虑,建立 ...
    本文作者是一名有 10 多年经验的高级系统架构师,他的主要专业领域是 Java EE、中间件和 JVM 技术。他在性能优化和提升方面也有很深刻的见解,下面他将和大家分享一下常见的 10 个影响 Java EE 性能问题。         1. 缺乏正确的容量规划         容量规划是一个全面的和发展的过程标准,预测当前和未来的 IT 环境容量需求。制定合理的容量规划不仅会确保和跟踪当前 IT 生产能力和稳定性,同时也会确保新项目以最小的风险部署到现有的生产环境中。硬件、中间件、JVM、调整等在项目部署之前就应该准备好。         2. Java EE 中间件环境规范不 ...
在Java J2EE方面进行面试时,常被问起的Hibernate面试问题,大多都是针对基于Web的企业级应用开发者的角色的。Hibernate框架在Java 界的成功和高度的可接受性使得它成为了Java技术栈中最受欢迎的对象关系影射(ORM)解决方案。Hibern ...
get和load方式是根据id取得一个记录下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来。 1.从返回结果上对比:load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null 2. ...
  JAVA方法中的参数用final来修饰的原因   很多人都说在JAVA中用final来修饰方法参数的原因是防止方法参数在调用时被篡改,其实也就是这个原因,但理解起来可能会有歧义,有的人认为是调用语句的地方的变量的实际值不会被修改,另一种理解就是仅在调用方法内部不能被修改。 实际上第一种理解是错误的,对于基本类型来说,用不用final来修饰都是一样的效果,如下面的代码: publicstaticvoid main(String hh[])       {             int

JNI

java中的native关键字 JNI是Java Native Interface的 缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计 的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。       使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的,比如,使用一些旧的库,与硬件、操作系统进行交互,或者为了提高程序的性能。JNI标准至少保证本地代码能工 ...

isNaN

如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果 x 是其他值,则返回 false。   检查数字是否非法: <script> document.write(isNaN(123)); document.write(isNaN(-1.23)); document.write(isNaN(5-2)); document.write(isNaN(0)); document.write(isNaN("Hello")); document.write(isNaN("2005/12/12") ...
     Eclipse 提供了一个可扩展插件的开发系统。这就使得 Eclipse 在运行系统之上可以实现各种功能。这些插件也不同于其他的应用(插件的功能是最难用代码实现的)。拥有合适的 Eclipse 插件是非常重要的,因为它们能让 Java ...
假如你是一名 Java 开发者,正在开发和维护包含 2000 个类并使用了很多框架的应用程序。你要如何理解这些代码呢?在典型的 Java 企业项目小组中,大部分能够帮你的高级工程师看起来都很忙,文档也很少。你需要尽快交付成果,并向项目组证明自己的能力。你会如何处理这种状况呢?这篇文章为开始开发新项目的 Java 开发者提供了一些建议。 1. 不要试图一下子搞懂整个项目 仔细考虑一下,为什么你会想要先理解项目代码呢?大部分情况是有人要求你修复一个 bug,或者增强系统已有功能。你要做的第一件事情不是理解整个项目的架构。当对项目进行维护时,这样做(理解整个项目架构)可能会对你造成巨大的压力。 ...
iBatis 简介: iBatis 是apache 的一个开源项目,一个O/R Mapping 解决方案,iBatis 最大的特点就是小巧,上手很快。如果不需要太多复杂的功能,iBatis 是能够满足你的要求又足够灵活的最简单的解决方案,现在的iBatis 已经改名为Mybatis 了。 官网为:http://www.mybatis.org/   搭建iBatis 开发环境: 1 、导入相关的
摘要:多终端接入、开放平台给互联网带来了前所未有的用户数量和访问规模,信息之多、传播速度之快,是传统网站难以想象的。本文将从发展演进的角度,解读高性能互联网系统架构。 多终端接入、开放平台给互联网带 ...
我们经常用到查询功能,所以拿Query接口中的list()和iterator()方法讲解:也就是著名的“N+1”问题。 我们经常习惯于这样的查询语句: Query query=session.createQuery("from Students"); List<Students> students=query.list(); for(Iterator<Students> iter=students.iterator();iter.hasNext();) { ............. } 当我们使用list()方法时,相当于 ...
inverse的含义说得玄乎点是控制翻转,说得普通就是关系的维护有谁来做。 因为在关系数据库里面table和table之间是通过外键维护关系的(1-1,1-n),对于1-n的情况, 很显然,外键由N的一方来维护比有1的一方来维护要好,这就是OOP中的has a的关系, 用hibernate进行数据存取的时候如果在集合属性里面不设置inverse=true,那么在保存n后, hibernate会更新外键----update TEST.Groups set PARENT_ID=? where id=?(PARENT_ID 是外键)。然而这是多余的  Hibernate一对多双 ...
第一种关联关系:一对多(多对一) "一对多"是最普遍的映射关系,简单来讲就如消费者与订单的关系。 一对多:从消费者角的度来说一个消费者可以有多个订单,即为一对多。 多对一:从订单的角度来说多个订单可以对应一个消费者,即为多对一。   一对多关系在hbm文件中的配置信息: 消费者(一方): <?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mappi ...
Global site tag (gtag.js) - Google Analytics