
Hibernate
文章平均质量分 72
liaowenxiong
我在软件产品规划、产品设计和项目管理方面具有丰富的经验。曾成功主导过十多个软件产品从0到1的整体规划与设计,涵盖了多个领域,如电商、供应链、仓储物流、ERP、OA、CRM、SaaS、社交和政务等。我的专长包括深入的用户需求分析和定义、精准的业务流程梳理、创新的系统功能抽象和设计,以及高效的软件产品规划和项目管理。我能够将用户需求转化为独具特色的产品设计,并在项目全生命周期内进行有效的管理,确保项目按时交付并达到预期目标。
展开
-
Hibernate根据实体类自动生成表的方法
就会去获取数据表的结构,如果获取不到则会生成建表语句,如果获取到了,则会逐个字段与映射文件进行比对,如果发现数据表字段缺少、字段名不同、数据类型不同等情况,则会生成相应的DDL语句对数据表的结构进行更新。如果数据表的字段比映射文件中的字段多,并不会把数据表中多出的字段删除掉。,会去解析 hibernate.cfg.xml 和 Ticket.hbm.xml,解析到属性 hibernate.hbm2ddl.auto 的值为。这种方法需要配置 hibernate.cfg.xml 的属性。原创 2022-11-26 21:46:35 · 2890 阅读 · 0 评论 -
Hibernate中的实体对象的三种状态
对于 Hibernate 而言,实体对象的状态分为三种:1.暂时态当对象刚创建,和 Session 没有发生任何关系时,当程序运行完就立刻消失,被称为暂时态。2.持久态持久态的对象和 Session 发生了关系,如执行了 、、 等方法3.游离态调用了 方法,和 Session 解除了关系,之后实体对象会被垃圾回收掉。 方法用于将实体对象从 Session的一级缓存中清除出去,从而及时释放它占用的内存。测试代码:......原创 2022-07-02 21:28:07 · 490 阅读 · 0 评论 -
Hibernate的学习笔记
Hibernate是对象关系映射(ORM,Object RelationShip Mapping)框架,Hibernate 用于系统中的封装数据访问层,我们称之为数据访问层框架(或叫持久层框架)。这个框架会自动将数据库查询出来的数据行封装成所映射的Java类对象,也会将Java类对象中的数据根据所映射的数据表拼接成SQL语句,从而可以很便捷地存储数据、更新数据、删除数据。实际上 Hibernate 的底层是调用 JDBC 有关 API 来访问数据库的。只是先将访问数据库的参数、数据库配置参数以及 Java原创 2022-07-02 17:02:18 · 548 阅读 · 2 评论 -
Hibernate常用API
2、检查对象与对象之间的级联操作cascade=“save-update”,“all”3、检查关系操作inverse=“false”(维护关系),“true”(不维护)2)如果持久化对象在数据库中不存在与之对应的记录,则发出insert语句。1)如果存在则检查实体对象的快照数据与数据库中对应的记录是否相同。1、检查持久化对象在数据库中是否存在与之对应的记录。②如果不相同,则发出update语句。①如果相同,则什么都不做。...原创 2022-07-23 10:08:59 · 771 阅读 · 0 评论 -
Hibernate中的Session.load() 和 Session.get() 的区别
执行语句 会先在一级缓存中找 id=2 的 UserInfoBean 对象(看红色线条),找不到去二级缓存找,还找不到就不找了,直接获取一个代理对象并返回该对象。当需要获取代理对象中的属性值时,则直接去数据库查(看蓝色线条),就是所谓的懒加载。执行语句 ,由于 load 方法已经查过 id=2 这个对象,所以这个对象(其实是一个代理对象)已经保存在缓存中了,因此 get() 方法可以在缓存区中直接获取到这个对象(看灰色线条)。执行语句 ,由于 id=3 这个对象没有查过,get() 方法先去一级缓存中找原创 2022-07-03 14:35:48 · 724 阅读 · 0 评论 -
Hibernate的缓存机制/会话级缓存机制
Hibernate 的一级缓存机制的作用:1.如果 session 被查询,session 将先到缓存中查找是否有被查询的对象,找到则直接返回该对象,否则才查询数据库2.缓存中的对象如果状态发生改变,会被标记下来(即维护对象的状态),当执行 时会将改变同步到数据库中当调用 session.evict(Object obj) 时,会将对象 obj 从 session 缓存中清除掉。测试代码:......原创 2022-07-02 21:53:04 · 393 阅读 · 0 评论 -
Struts2+Hibernate项目中的时间和日期问题
例如获取字符串 2022-08-18T11:04,会将这个字符串转换成 java.util.Date 对象,再调用实体类对象对应的 setter 方法将上述对象存储到实体类对象中,所有的参数数据存储到实体类对象后,再调用 Action 对象对应的 setter 方法将实体类对象存储到 Action 对象中,这就是完成参数数据的注入,最终是注入到 Action 对象对应的属性中(严格讲应该是 Action 对象的属性对应的成员变量中)。那么就可以在实体类的有关日期时间属性的 getter 方法上加上注解。..原创 2022-07-06 17:51:01 · 817 阅读 · 0 评论