在日常的应用开发过程中,我们一般都会使用对象关系映射来通过面向对象的编程模型来解决数据库的操作,我们生产过程当中使用较多的当属Hibernate框架了,他非常灵活,为我们提供了多种方式来实现数据层的操作与管理。通过实体类与数据表的映射,实体类对应表,属性对应字段就可以将我们想要生产的对象赋值到数据库,但是我们有时也需要查询对象,但是无论什么操作,都必须通过实体类来传递数据。
有时我们数据库有一些字段是数据库自动赋值,禁止用户通过程序修改的,如记录生成时间,那么如果你实体类按照正常情况下,你为了查询肯定会存在对应的字段,但你会发现,当你在新增加记录的时候,数据库并没有为你自动生成相应的记录建立时间,这是为什么呢?因为如果你在实体类中没有给出对应字段的值,那么Hibernate就认为你没有给他赋值,默认值就是null,所以系统不会为你生成创建时间,数据库字段的默认值是你在没有给出字段的值的时候,为你自动加进去的,前提是你没有明确指出字段的值,所以为了解决这个问题,我们应该使用注解@Transient这个注解的应用场景有以下两种:
- 实体类中存在的属性在数据库表中没有对应的字段。
- 实体类中存在的属性不需要持久化到数据库表中。
有时候当字段比较复杂的时候,为了解决问题的复杂行,我们就需要通过两个实体类来解决问题了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-12-28 19:40:01