JPA 大文本
使用jpa也有很长1段时间了,其中的奥妙也只是用到了1点点,项目中不用到的知识也很少去想,真心是现用现学,这次遇到的问题是大文本,在数据库中的类型为TEXT,但是映照的时候该怎样做呢?!下面就来介绍1下吧: 实话实说,在使用jpa的时候,大部份的属性数据类型都是string,我们也知道string映照到数据库最大长度为255,在mysql数据库中映照为varchar(255),如图所示: 我们也看到了,如果我想保存1篇文章,单纯的用string类型的去映照,明显是没办法办到的,由于保存100多个汉字基本就会超越数据库的极限了。那末该怎样办呢? 没错我们可使用@Lob注解,Lob适用于标注字段类型为Clob和Blob的类型,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在页面显示了: 现阶段遇到的问题都是由解决方案的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |