当前位置: 首页 > 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://wiki.neutronadmin.com/news/173453/

相关文章:

  • 游戏攻略网站开发小型电子商务网站规划
  • 网站建设怎样避免犯法网站制作工作室专业公司
  • 可烦网站建设南阳网站优化费用
  • p2p的网站开发织梦模板首页修改
  • 浙江建设职业技术学院塘栖校区网站个人网站域名申请
  • 西安专业网站建设服务好国外优秀的网站建设公司
  • 2018爱情动做网站苏州建站公司认准苏州聚尚网络
  • 旅游网站大全施工企业奖惩制度范本
  • 做个公司展示网站多少钱 后期有什么费用网络游戏陪玩
  • 建设肯德基网站的好处葫芦岛建设网站
  • 怎样手机网站建设正保建设工程网站
  • 提升网站速度电销外包怎么收费
  • 十八把网站做扇子wordpress角色权限管理
  • 聊城建网站哪家好电子印章手机在线制作软件
  • 丰城做网站凡科自助建站平台
  • 茶叶手机网站建设网站建站网站哪家好
  • 网站开发 html网站后台培训
  • 网站后台可改资料建设网站如何挂到网上
  • 免费自助音乐网站申请wordpress企业网站模板破解
  • 柳州网站建设哪家好科技与狠活
  • 怎么做qq可信任网站开发一个页面多少钱
  • 南京seo网站优化深圳网络营销培训
  • 达州做网站做网站签了合同后不想做了
  • 自己做网站下载怎么二级建造师网官网
  • 云南省建设考试中心网站公司网站建设情况
  • 网站设计的开发工具和环境重庆网站建设changeke
  • 东台市住房和城乡建设局闷网站wordpress如何秒开
  • 微信上的网站怎么做的常州制作公司网站
  • 网站策划做营销推广杭州餐饮团购网站建设
  • 静态网页设计网站制作营销型网站建设有哪些平台