-
组件属性,实体类中的某个属性属于用户自定义的类的对象。 <component name="address" class="Address"> <property name="postcode" column="POSTCODE"></property> <property name="phone" column="PHONE"></property> <property name="address" column="ADDRESS"></property> </component>查看全部
-
hibernate从数据库中获取图片 student s = (Student)session.get(Student.class,1); Blob image = s.getPicture(); InputStream input = image.getBinaryStream(); File file = new File("d:"+File.separator+"dest.jpg"); OutputStream output = new FileOutputStream(); byte[] buff = new byte[input.available()]; input.read(buff); output.write(buff); input.close(); output.close();查看全部
-
...查看全部
-
session详解查看全部
-
hibernate的执行流程查看全部
-
hibernate查看全部
-
Hibernate基本类型查看全部
-
hibernate.cfg.xml常用配置查看全部
-
junit测试标签查看全部
-
写原生SQL语句有什么不好?查看全部
-
单一主键: (1)assigned 由java应用程序负责生成(手工赋值) (2)native 由底层数据库自动生成标示符,如果是MySQL就是increment,如果是Oracle就是sequence,等等 Ps1:assigned注意:如果实体类中设置的主键id是基本类型int的话,则可以不用赋值,系统默认值为0;如是引用类型Integer话,则默认值为null,不赋值系统则报错。 Ps2:native注意:系统会自动选择该数据库对应的自动增值方式,从1开始。即使手动给他赋值,也不会起作用,但也不会报错。查看全部
-
主键生成策略查看全部
-
1、Hibernate对数据的操作都是封装在事务当中,并且默认是非自动提交的方式。所以用session保存对象时,如果不开启事务,并且手工提交事务,对象并不会真正保存在数据库中。 2、如果不开启事务,并想让Hibernate像jdbc那样自动提交事务,必须调用session对象的doWork()方法,获得jdbc的connection后,设置其为自动提交事务模式。(注意:通常并不推荐这样做) Ps:记得在session.save();前操作doWork(new Work(){conn.setAutoCommit(true);});时,记得在session.save();后调用session.flush();查看全部
-
hibernate.cfg.xml常用配置 (1)hibernate.show_sql 编码阶段便于测试 (2)hibernate.format_sql 排版问题,建议设置为true (3)hbm2ddl.auto 可以帮助由 java代码生成数据库脚本,进而生成具体的表结构。create/update/create- drop/validatereate(重新改变结构,原来的所有记录都不见了:先drop,再create)/update(检查schema是否一致,如果不一致会做scheme更新)/create-drop(先create,在系统关闭前执行drop)/validate(验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新) (4)hiberante.default_schema 默认的数据库 (5)hibernate.dialect 配置Hibernate数据库方言 hiberante的前缀可以省略,即:hibernate.dialect等同于dialect查看全部
-
<property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hibernate.default_schema">hibernate</property>//设置前提在hbm.xml里没有设置schema="dbo" catalog="hibernatedb";否则无效,hbm.xml设置会优先。 <property name="hbm2ddl.auto">create</property> 1、create:先删除原有的表,然后重新生成。 2、update:不会删除原有的表,在原有的基础上继续操作。 Ps:对于Oracle此为用户名,不是表空间;对于MySql此为数据库名:hibernate.default_schema=excavator查看全部
举报
0/150
提交
取消