加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

JPA 大文本

发布时间:2020-12-13 20:41:18 所属栏目:PHP教程 来源:网络整理
导读:使用 jpa 也有很长1段时间了,其中的奥妙也只是用到了1点点,项目中不用到的知识也很少去想,真心是现用现学,这次遇到的问题是大文本,在数据库中的类型为 TEXT ,但是映照的时候该怎样做呢?!下面就来介绍1下吧: 实话实说,在使用 jpa 的时候,大部份的

         使用jpa也有很长1段时间了,其中的奥妙也只是用到了1点点,项目中不用到的知识也很少去想,真心是现用现学,这次遇到的问题是大文本,在数据库中的类型为TEXT,但是映照的时候该怎样做呢?!下面就来介绍1下吧:

         实话实说,在使用jpa的时候,大部份的属性数据类型都是string,我们也知道string映照到数据库最大长度为255,在mysql数据库中映照为varchar(255),如图所示:

   

 

       我们也看到了,如果我想保存1篇文章,单纯的用string类型的去映照,明显是没办法办到的,由于保存100多个汉字基本就会超越数据库的极限了。那末该怎样办呢?

       没错我们可使用@Lob注解,Lob适用于标注字段类型为ClobBlob的类型,Clob是长字符串类型,映照中实体类型可以为char[]Character[]、或String类型;Blob是字节类型,映照为实体中的类型为byte[]Byte[]、或实现了Serializable接口的类型。这两种类型的数据1般占用的内存空间比较大,1般设置为lazy加载。

@Column(name = "name",length = 50) private String name; @ManyToMany(cascade=CascadeType.MERGE,fetch=FetchType.EAGER,mappedBy="course",targetEntity = Clazz.class) private Set<Clazz> clazzs; /*@OneToMany(cascade=CascadeType.DETACH,fetch=FetchType.LAZY,targetEntity=People.class) @JoinColumn(name="peopleId",nullable=true)*/ private People people; @Lob private String describeLob; @Lob @Column(name = "testCommon",columnDefinition = "TEXT") private String describe ;

 

通过查询取得的数据,简单的实例就用json在页面显示了:


      现阶段遇到的问题都是由解决方案的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读