JPA之@Transient

谁践踏了优雅 2024-04-18 06:16 97阅读 0赞
  1. 之前一直使用mybatis做数据持久化,今天使用jpa,关于mybatisjpa的优缺点可以自行搜索。
  2. java transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。
  3. public class OrderMaster {
  4. /**
  5. * 订单id
  6. */
  7. @Id
  8. private String orderId;
  9. /**
  10. * 买家名字
  11. */
  12. private String buyerName;
  13. /**
  14. * 买家手机号
  15. */
  16. private String buyerPhone;
  17. /**
  18. * 买家地址
  19. */
  20. private String buyerAddress;
  21. /**
  22. * 买家微信Openid
  23. */
  24. private String buyerOpenid;
  25. /**
  26. * 订单总金额
  27. */
  28. private BigDecimal orderAmount;
  29. /**
  30. * 订单状态,默认为0新下单
  31. */
  32. private Integer orderStatus = OrderStatusEnum.NEW.getCode();
  33. /**
  34. * 支付状态,名默认为0等待支付
  35. */
  36. private Integer payStatus = PayStatusEnum.WAIT.getCode();
  37. /**
  38. * 创建时间
  39. */
  40. private Date createTime;
  41. /**
  42. * 更新时间
  43. */
  44. private Date updateTime;
  45. /**
  46. * 订单详情列表
  47. */
  48. @Transient
  49. private List<OrderDetail> orderDetailList;
  50. }
  51. **transient **使用小结:
  52. 1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。
  53. 2transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口
  54. 3)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。

发表评论

表情:
评论列表 (有 0 条评论,97人围观)

还没有评论,来说两句吧...

相关阅读

    相关 transient

      在开发过程中,我们总会遇到在一个对象序列化的时候,某些字段是不能进行序列化的,比如密码信息等等,这个时候我们可以使用transient关键字来修饰当前这个属性,这时候该字段

    相关 @Transient

      java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到