第4讲 单表映射实体Bean.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4讲 单表映射实体Bean

内容回顾;第4讲 单表映射的实体Bean;4.1 实体Bean概述;4.2创建单表映射实体Bean;persistence.xml内容结构;实体Bean的创建及应用示例:;假设数据表结构如下:;③创建实体Bean:;;④在项目中的META-INF目录下创建persistence.xml :;⑤创建会话Bean:;⑦创建JSP文件:;运行结果:;4.3持久化相关注释;@javax.persistence.Id 指定实体Bean的主键 @javax.persistence.GeneratedValue 指定主键值生成方式,需要与@Id结合使用 generator属性:定义主键值生成器的名称。如果实体的主键值生成策略不是AUTO或IDENTITY,则需要提供SequenceGenerator或者TableGenerator注释,然后将generator属性值设置为注释的name属性值 strategy属性:指定字段值生成策略,它可取以下四种值: TABLE SEQUENCE IDENTITY AUTO;@javax.persistence.Column 指定实体Bean的成员属性映射到数据表中的哪一个字段以及该字段的一些结构信息 name属性:指定成员属性映射到表中的哪个字段。如??不指定映射字段,则映射的字段名称和属性名称相同。 unique属性:指定字段是否唯一 length属性:用于定义字符型字段的最大字符长度 nullable属性:指定字段是否允许为空 示例: @Column(name=“username”,length=20,nullable=false);@javax.persistence.Temporal 指定java.util.Date或java.util.Calendar类型成员属性与数据库类型date或time或timestamp的映射 value属性:指定映射的数据库类型,可取以下三种值: TemporalType.DATE TemporalType.TIME TemporalType.TIMESTAMP 示例: @Temporal(value=TemporalType.DATE);@javax.persistence.PersistenceContext 用于动态注入EntityManager对象,从而可以通过EntityManager来实现对实体Bean的创建、更新、删除和查询。 注: EntityManager由容器自动管理和配置, 其主要负责将一组类映射到数据库中,(这组类 被称为持久化单元,持久化单元需要在 persistence.xml中定义) unitName属性:指定持久化单元名称 示例: @PersistenceContext(unitName=“sise”);@javax.persistence.Transient 指定成员属性不持久化。 示例: @Transient Public String getFirstName(){….};@javax.persistence.Lob 指定大文本数据。当属性的类型为byte[]、Byte[]或java.io.Serializble时,@Lob注释将映射为数据库的Blob(二进制数据)类型;当属性为char[]、Character[]或java.lang.String时, @Lob注释将映射为数据库的Clob(字符数据)类型 示例: @Lob Public String getContent(){….} ;@javax.persistence.Basic 用于对添加了@Lob注释的大数据类型数据进行延时加载 FetchType属性:指定是否延时加载,默认为立即加载,取值包括:LAZY和EAGER,默认为EAGER 示例: @Lob @Basic(fetch=FetchType.LAZY) Public String getContent(){….};注:映射的表名或列名与数据库保留字相冲突(即同名)的解决方案:可在映射的表名、列名上添加一个单引号(针对MySql)或使用[] 将表名或列名括起来(针对SQL Server)

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档