当前位置: 首页 > news >正文

wed网站开发是什么学校网站建设开题报告书

wed网站开发是什么,学校网站建设开题报告书,上海网站制作工作室,软件开发平台协议基本映射概念 学习Hibernate时#xff0c;许多人喜欢跳到父子关联#xff0c;而无需掌握对象关系映射的基础知识。 在开始对实体关联进行建模之前#xff0c;了解各个实体的基本映射规则非常重要。 休眠类型 休眠类型是SQL类型和Java原语/对象类型之间的桥梁。 这些是Hibe… 基本映射概念 学习Hibernate时许多人喜欢跳到父子关联而无需掌握对象关系映射的基础知识。 在开始对实体关联进行建模之前了解各个实体的基本映射规则非常重要。 休眠类型 休眠类型是SQL类型和Java原语/对象类型之间的桥梁。 这些是Hibernate默认支持的类型 休眠类型org.hibernate.type JDBC类型 Java类型 StringType VARCHAR 串 物化球 CLOB 串 文字类型 LONGVARCHAR 串 角色类型 焦炭 字符或字符 布尔型 比特 布尔值或布尔值 NumericBooleanType 整数例如0 假和1 真 布尔值或布尔值 是否类型 CHAR例如“ N”或“ n” false“ Y”或“ y” true 布尔值或布尔值 TrueFalseType CHAR例如“ F”或“ f” 否“ T”或“ t” 真 布尔值或布尔值 字节类型 天音 字节或字节 短型 SMALLINT 短或短 整数类型 整数 整型或整型 长型 比金特 长或长 浮动类型 浮动 浮动或浮动 双重类型 双 双倍或双倍 BigIntegerType 数字 大整数 BigDecimalType 数字 大十进制 时间戳类型 时间戳 java.sql.Timestamp或java.util.Date 时间类型 时间 java.sql.Time 日期类型 日期 java.sql.Date CalendarType 时间戳 java.util.Calendar或java.util.GregorianCalendar CalendarType 日期 java.util.Calendar或java.util.GregorianCalendar 货币类型 VARCHAR java.util.Currency 语言环境类型 VARCHAR java.util.Locale 时区类型 VARCHAR java.util.TimeZone 网址类型 VARCHAR java.net.URL 类类型 VARCHAR java.lang.Class BlobType BLOB java.sql.Blob ClobType CLOB java.sql.Clob BinaryType VARBINARY 字节[]或字节[] BinaryType BLOB 字节[]或字节[] BinaryType LONGVARBINARY 字节[]或字节[] BinaryType LONGVARBINARY 字节[]或字节[] CharArrayType VARCHAR char []或Character [] UUIDBinaryType 二进制 java.util.UUID UUIDBinaryType CHAR或VARCHAR java.util.UUID UUIDBinaryType PostgreSQL UUID java.util.UUID SerializableType VARBINARY 可序列化 您将始终可以定义自己的自定义类型我们将在以后的文章中看到。 嵌入式aka组件类型 您可以将多个列分组为特定的Java类型该类型可以在整个域模型中重复使用。 如果映射的Java对象始终依赖于某些外部实体则可以为此类域模型映射选择Embeddable类型。 一个Embeddable对象可以包含基本类型和关联映射但不能包含Id。 可嵌入对象及其拥有的实体将被持久保存/删除。 假设我们有下面的SQL表 CREATE TABLE entity_event(id BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH 1),entity_class VARCHAR(255),entity_id BIGINT,message VARCHAR(255),PRIMARY KEY (id)); 我们可以将entity_class和entity_id分组为一个Embeddable对象该对象将在两个不同的拥有实体中使用。 Embeddable对象如下所示 Embeddable public class EntityIdentifier implements Serializable {Column(name entity_id, nullable true)private Long entityId;Column(name entity_class, nullable true)private Class entityClass;public EntityIdentifier() {}public EntityIdentifier(Class entityClass, Long entityId) {this.entityClass entityClass;this.entityId entityId;}public Class getEntityClass() { return entityClass; }public void setEntityClass(Class entityClass) { this.entityClass entityClass; }public Long getEntityId() { return entityId; }public void setEntityId(Long entityId) { this.entityId entityId; } } 关联的Entity表将继承Embeddable属性的关联列。 实体 实体与SQL表行的Java等效。 该实体必须包含一个Id属性该属性映射关联的表主键。 应用程序逻辑对实体属性进行更改并向持久性上下文通知实体状态更改持久合并删除。 因此持久性上下文会将所有实体更改转换为SQL语句。 假设我们有以下SQL表 CREATE TABLE entity_attribute(id BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH 1),entity_class VARCHAR(255),entity_id BIGINT,name VARCHAR(255),VALUE VARCHAR(255),PRIMARY KEY (id));CREATE TABLE entity_event(id BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH 1),entity_class VARCHAR(255),entity_id BIGINT,message VARCHAR(255),PRIMARY KEY (id)); 我们可以利用EntityIdentifier Embeddable类型因为两个表都包含entity_class和entity_id列。 Entity Table(name entity_attribute) public class EntityAttribute {IdGeneratedValueprivate Long id;private String name;private String value;private EntityIdentifier entityIdentifier;public Long getId() { return id; }public String getName() { return name; }public void setName(String name) { this.name name; }public String getValue() { return value; }public void setValue(String value) { this.value value; }public EntityIdentifier getEntityIdentifier() { return entityIdentifier; }public void setEntityIdentifier(EntityIdentifier entityIdentifier) { this.entityIdentifier entityIdentifier; } }Entity Table(name entity_event) public class EntityEvent {IdGeneratedValueprivate Long id;private String message;private EntityIdentifier entityIdentifier;public Long getId() { return id; }public String getMessage() { return message; }public void setMessage(String message) { this.message message; }public EntityIdentifier getEntityIdentifier() { return entityIdentifier; }public void setEntityIdentifier(EntityIdentifier entityIdentifier) { this.entityIdentifier entityIdentifier; } }测试时间 我们将为给定产品创建一个EntityEvent和一个EntityAttribute以查看Embeddable如何与拥有的实体一起持久保存 Test public void testEntityIdentifier() {doInTransaction(new TransactionCallableVoid() {Overridepublic Void execute(Session session) {Product product new Product(LCD);session.persist(product);EntityEvent productEvent new EntityEvent();productEvent.setMessage(String.format(Product %s added, product.getName()));productEvent.setEntityIdentifier(new EntityIdentifier(product.getClass(),product.getId()));session.persist(productEvent);EntityAttribute productAttribute new EntityAttribute();productAttribute.setName(AD_CAMPAIGN);productAttribute.setValue(LCD_Sales);productAttribute.setEntityIdentifier(new EntityIdentifier(product.getClass(),product.getId()));session.persist(productAttribute);assertSame(1, session.createQuery(select ea from EntityAttribute ea where ea.entityIdentifier :entityIdentifier).setParameter(entityIdentifier, new EntityIdentifier(product.getClass(), product.getId())).list().size());return null;}}); }Query:{[ INSERT INTO product(id,name) VALUES (DEFAULT,?) ][LCD]} Query:{[ INSERT INTO entity_event(id,entity_class,entity_id,message) VALUES (DEFAULT,?,?,?) ][com.vladmihalcea.hibernate.masterclass.laboratory.entityidentifier.Product,1,Product LCD added]} Query:{[ INSERT INTO entity_attribute(id,entity_class,entity_id,name,VALUE) VALUES (DEFAULT,?,?,?,?) ][com.vladmihalcea.hibernate.masterclass.laboratory.entityidentifier.Product,1,AD_CAMPAIGN,LCD_Sales]} Query:{[ SELECT entityattr0_.id AS id1_0_,entityattr0_.entity_class AS entity_c2_0_,entityattr0_.entity_id AS entity_i3_0_,entityattr0_.name AS name4_0_,entityattr0_.VALUE AS value5_0_ FROM entity_attribute entityattr0_ WHERE entityattr0_.entity_class ?AND entityattr0_.entity_id ? ][com.vladmihalcea.hibernate.masterclass.laboratory.entityidentifier.Product,1]}结论 在了解实体关联之前我们仍然需要涵盖许多概念。 在跳到更高级的主题之前您应该始终花一些时间来理解基本概念。 我的下一篇文章将介绍实体标识符和所有可用的生成器技术。 代码可在GitHub上获得 。 翻译自: https://www.javacodegeeks.com/2014/06/a-beginners-guide-to-hibernate-types.html
http://www.yutouwan.com/news/173453/

相关文章:

  • 网站开发的职业规划室内设计师网名专用
  • wordpress音乐站源码高校网站建设需求分析
  • 中国铁路建设监理协会官方网站山东省建设厅网站特种作业
  • 网站不备案可以做淘宝联盟吗聊天软件开发需要多少钱
  • 黑龙江省住房和城乡建设网站用dw做的十二星座网站免费
  • 论坛网站建设开源工具网站服务器建设教程
  • 有什么字体设计网站济宁网站建设电话
  • wordpress开启子域名多站怎样在外管局网站做延期付款
  • 网站首页改版费用一个做网站的软件
  • 高端网站建设公司有必要做吗中国城乡建设经济研究所 网站
  • 增城营销网站建设生物医药基地网站建设
  • 枣阳网站建设公司做淘宝网站销售怎么样
  • 公司网站制作招聘.net做网站的优缺点
  • 群辉服务器建设的网站wordpress 怎么安全
  • 网站建设以推广哪个网站可以做c语言的题
  • 西充县住房和城乡建设局网站wordpress文章图片没src地址
  • 宁波江北建设局官方网站浏览器网站建设的步骤过程
  • 昆明公司网站开发徐州做网站建设
  • 免费企业名录搜索高清网站seo
  • 2016市网站建设总结西樵营销网站制作
  • 做网站有前途吗高性能网站建设在线阅读
  • 通州网站建设多少钱科协网站建设的意见
  • 沈阳做网站优化如何通过域名直接访问wordpress
  • dz门户做视频网站南充房产信息查询系统
  • 山西网站建设开发怀化网站网站建设
  • a做爰视频免费网站苏州网站制作排名优化
  • 网站开发时间一般是五级偏黄视频网站建设
  • 杭州滨江网站开发做网站的人月
  • 山东神华网站建设域名解析站长工具
  • php网站开发实用技术课后习题三星网上商城打不开