-
hibernate.cfg.xml常用配置 hbm2ddl.auto : create表示每次生成新的表结构,删除已存在的表再创建新表 update,表示在原有表结构的基础上进行更新,保留原有的数据,对表结构进行更新,并插入新的数据 create-drop表示先创建表,再删除表 validate 表示先对原有的表结构进行验证,如果表结构不同也不会创建新的表结构查看全部
-
Hibernate配置文件...查看全部
-
安装hibernate插件查看全部
-
hibernate tools插件查看全部
-
Hibernate基本数据类型,红框表示容易出错的类型。 前两列比较常用,例如在配置文档中的type就经常使用这些。 date 表示日期:YYYY-MM-dd time 表示时间:hh:mm:ss tiemstamp时间戳: yyyy-MM-dd hh:mm:ss 另外,映射的数据类型设置会决定最后数据库中的类型。 比如我们在Java程序中使用的是java.util.Date类型定义变量Birthday。但在映射关系的配置文档中对应的type改成date类型,那么最后保存在数据库的Birthday类型就是date,也就是YYYY-MM-dd,而非java.util.Date(或者timestamp)的YYYY-MM-dd hh:mm:ss。查看全部
-
什么是hibernate: 它是Java领域的一款开源的ORM框架技术 他对JDBC进行了非常轻量级的对象封装查看全部
-
单一主键:指表中由某一列来充当主键 assigned 由java应用程序负责生成(手工赋值) native 由底层数据库自动生成提示符,如果是MySQL就是increment,如果是Oracle就是sequence,等等。另外,即使手动赋值主键,也不会起作用。查看全部
-
创建Hibernate的配置文件; 创建持久化类; 创建对象--关系映射文件; 通过Hiebernate API编写访问数据库的代码;查看全部
-
Hibernate插件在eclipse上面的安装(Hibernate Tools for eclipse pluguns): 安装方法同Android ADT插件的安装。查看全部
-
其他主流的ORM框架技术: 1.MyBatis:前身就是著名的iBatis; 2.Toplink:后被Oracle收购,并重新包装为Oracle AS TopLink; 3.EJB:本身是javaEE的规范;(大型的,复杂的)查看全部
-
Hibernate是java领域的一款开源的ORM框架技术; Hibernate对JDBC进行了非常轻量级的对象封装;查看全部
-
写SQL语句的坏处: 1.不同的数据库使用的SQL语句不同。比如:PL/SQL与T/SQL。 2.同样的功能在不同的数据库中有不同的实现方式。比如分页SQL。 3.程序过分依赖SQL语句,不利于对程序的移植和扩展。查看全部
-
hbm(对象关系映射)配置文件常用的设置 <hibernate-mapping schema="schemaName" 模式名称 catalog="catalogName" 目录名称 default-cassade="cascade_style" 级联风格 default-access="field|property|ClassName" 访问策略 default-lazy="true|false" //加载策略 package="packagename" 默认的包名 ></hibernate> <class name="ClassName" 映射的类 table="tableName" 表名 batch-size="number" 一次可以抓取的数量 where="condition" 抓取的条件 entity-name="EntityName" 支持同一个实体类映射成多张表 ></class> <id>//id表示表的主键 name="propertyName" 要映射的属性 type="typename" 数据类型 column="column_name" 所映射的表的那个字段的名称 length="length" 指定长度 <generator class="generatorClass" ></generator> 子标签,表示主键的生成策略 </id> 生成策略: native对应的Mysql的处理方式是自动增长(只用于整数) AUTO_INCREMENT assigned 手动赋值查看全部
-
Session详解 1. getCurrentSession在事务提交或者回滚之后会自动关闭,而openSession需要你手动关闭,如果使用openSession而没有手动关闭,多次之后会导致连接池溢出。 2. openSession每次创建新的Session对象,而getCurrentSession使用现有的session对象(类似单例模式) openSession——不手动关闭Session的后果:每创建一个连接对象,最后都没能释放(连接对象)。会造成连接资源的枯竭,连接池的溢出。如何体现这一点?我们可以打印出这个连接对象的hashcode。 创建两个session,比较二者的connection对象的hashcode,如果不同,就是不同的connection对象。 需要在save()之前重写doWork方法。 getCurrentSession在提交事务后会自动关闭session,释放资源。所以它的connection对象的hashcode是相同的。 以下摘自评论区: 如果你没有设置数据库连接池,那么初始连接池的大小是20,最小是1,也就是说当你启动hibernate的时候,hibernate就初始化了一个connection对象放在你的数据库连接池里面了。如果你第一次调用openSession的时候,hibernate直接就把连接池里面的connection对象给你了,但是如果你没有关闭session,那么这个connection对象就没有被释放,所以当你再次调用openSession的时候,hibernate就会创建一个新的connection对象,如果一直这样,连接池就溢出了查看全部
-
映射的数据类型设置会决定最后数据库中的格式查看全部
举报
0/150
提交
取消