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

网站优化免费软件招聘信息最新招聘2021

网站优化免费软件,招聘信息最新招聘2021,滁州网站建设,网站建设与网页设计...jpa 实体映射视图在本文中#xff0c;我将讨论JPA中的实体映射过程。 至于我的示例#xff0c;我将使用与 我以前的一篇文章中使用的模式相同的模式 。 在前两篇文章中#xff0c;我解释了如何在Java SE环境中设置JPA。 我不打算为Web应用程序编写设置过程#xff0c;因为… jpa 实体映射视图 在本文中我将讨论JPA中的实体映射过程。 至于我的示例我将使用与 我以前的一篇文章中使用的模式相同的模式 。 在前两篇文章中我解释了如何在Java SE环境中设置JPA。 我不打算为Web应用程序编写设置过程因为Web上的大多数教程都完全做到了这一点。 因此让我们直接跳过对象关系映射或实体映射。 Wikipedia定义对象关系映射如下 计算机科学中的对象关系映射ORMO / RM和O / R映射是一种编程技术用于在面向对象的编程语言中的不兼容类型系统之间转换数据。 实际上这创建了一个“虚拟对象数据库”可以在编程语言中使用它。 尽管有些程序员选择创建自己的ORM工具但有执行对象关系映射的免费和商业软件包。 通常映射是您将有关数据库的必要信息提供给ORM工具的过程。 然后该工具使用此信息将对象读/写到数据库中。 通常您告诉您的ORM工具表名称特定类型的对象将保存到该表名称。 您还提供对象属性将映射到的列名。 还需要指定不同对象类型之间的关系。 所有这些似乎都是艰巨的任务但是幸运的是JPA遵循了所谓的“ Convention over Configuration”方法这意味着如果您采用JPA提供的默认值则只需配置很少的部分应用程序。 为了在JPA中正确映射类型您至少需要执行以下操作 用Entity批注标记您的班级。 这些类称为实体。 用Id注释标记类的属性/获取方法之一。 就是这样。 您的实体已准备好保存到数据库中因为JPA会自动配置映射的所有其他方面。 这也显示了使用JPA可以享受的生产率提高。 您无需在每次查询数据库时手动填充对象从而无需编写大量样板代码。 让我们来看一个例子。 考虑以下我根据以上两个规则映射的地址实体 import javax.persistence.Entity; import javax.persistence.Id;Entity public class Address {Idprivate Integer id;private String street;private String city;private String province;private String country;private String postcode;/*** return the id*/public Integer getId() {return id;}/*** param id the id to set*/public Address setId(Integer id) {this.id id;return this;}/*** return the street*/public String getStreet() {return street;}/*** param street the street to set*/public Address setStreet(String street) {this.street street;return this;}/*** return the city*/public String getCity() {return city;}/*** param city the city to set*/public Address setCity(String city) {this.city city;return this;}/*** return the province*/public String getProvince() {return province;}/*** param province the province to set*/public Address setProvince(String province) {this.province province;return this;}/*** return the country*/public String getCountry() {return country;}/*** param country the country to set*/public Address setCountry(String country) {this.country country;return this;}/*** return the postcode*/public String getPostcode() {return postcode;}/*** param postcode the postcode to set*/public Address setPostcode(String postcode) {this.postcode postcode;return this;} } 现在根据您的环境您可能会或可能不会在persistence.xml文件中添加此实体声明我在上一篇文章中已经对此进行了解释。 好吧让我们保存一些对象 以下代码段正是这样做的 import com.keertimaan.javasamples.jpaexample.entity.Address; import javax.persistence.EntityManager; import com.keertimaan.javasamples.jpaexample.persistenceutil.PersistenceManager;public class Main {public static void main(String[] args) {EntityManager em PersistenceManager.INSTANCE.getEntityManager();Address address new Address().setId(1).setCity(Dhaka).setCountry(Bangladesh).setPostcode(1000).setStreet(Poribagh);em.getTransaction().begin();em.persist(address);em.getTransaction().commit();System.out.println(addess is saved! It has id: address.getId());Address anotherAddress new Address().setId(2).setCity(Shinagawa-ku, Tokyo).setCountry(Japan).setPostcode(140-0002).setStreet(Shinagawa Seaside Area);em.getTransaction().begin();em.persist(anotherAddress);em.getTransaction().commit();em.close();System.out.println(anotherAddress is saved! It has id: anotherAddress.getId());PersistenceManager.INSTANCE.close();} } 现在让我们退后一步考虑一下如果使用纯JDBC进行持久化我们需要做些什么。 对于这两种情况我们必须手动编写插入查询并将每个属性映射到相应的列这将需要大量的代码。 关于该示例要注意的重要一点是我设置实体ID的方式。 这种方法仅适用于像这样的简短示例但是对于实际应用而言这不是很好。 通常您通常希望使用自动递增的id列或数据库序列来生成实体的id值。 在我的示例中我使用的是MySQL数据库并且我所有的id列均设置为自动递增。 为了在实体模型中体现这一点我可以在id属性中使用一个名为GeneratedValue的附加注释。 这告诉JPA该实体的id值将在插入期间由数据库自动生成并且应该在插入之后使用select命令获取该id。 经过上述修改我的实体类变成了这样的东西 import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.GeneratedValue;Entity public class Address {IdGeneratedValueprivate Integer id;// Rest of the class code........ 插入过程变为 Address anotherAddress new Address().setCity(Shinagawa-ku, Tokyo).setCountry(Japan).setPostcode(140-0002).setStreet(Shinagawa Seaside Area); em.getTransaction().begin(); em.persist(anotherAddress); em.getTransaction().commit(); JPA如何确定用于保存地址实体的表 事实证明这很简单 如果映射未提供任何明确的表信息则JPA会尝试查找名称与实体名称匹配的表。 可以使用Entity批注的“名称”属性显式指定实体的名称。 如果未找到名称属性则JPA会假定实体的默认名称。 实体的默认名称是实体类的简单名称非完全限定名称在我们的情况下为Address。 因此我们的实体名称随后被确定为“地址”。 由于我们的实体名称为“地址”因此JPA会尝试查找数据库中是否存在名称为“地址”的表请记住大多数情况下数据库表名称均不区分大小写。 从我们的模式中我们可以看到确实如此。 那么JPA如何确定我们用于保存地址实体属性值的列 在这一点上我认为您将能够轻松地猜测到这一点。 如果您不能请继续关注我的下一篇文章 直到下一次。 [完整的工作代码可以在github上找到。] 翻译自: https://www.javacodegeeks.com/2014/09/jpa-tutorial-mapping-entities-part-1.htmljpa 实体映射视图
http://www.yutouwan.com/news/342444/

相关文章:

  • 浙江网站建设服务西安给大学做网站公司
  • 网站类型分析微信小程序是什么语言开发的
  • 找个美工做淘宝网站需要多少钱电子商务网站建设与维护概述
  • 网站建设大图网站第二次备案
  • 西充县住房和城乡规划建设局网站海外域名服务商
  • 那个网站有免费模板photoshop制作网站海报
  • 东莞seo建站哪家好自己做章网站
  • 关于淘宝店网站建设的可行性报告新开传奇手游
  • 济南外贸建站做网站的工作怎么样
  • 宝安沙井天气成都企业网站优化服务
  • 电商网站建设包括哪些内容wordpress 更多内容
  • 企业网站建设指标长沙网站制作培训
  • 九龙坡区建设二校的网站宁波seo推广哪家公司好
  • 做网站用多大配置的服务器上海可以做网站的公司
  • 自己设计logo的网站网业升级坊问
  • 做IT的需要别人打开网站吗wordpress返回顶部
  • 兰州网站seo收费wordpress如何添加页面
  • 个人网站建设的要点营销管理制度范本
  • 商城网站建设服务网站信息推广的策略有哪些
  • 单页网站 seo如何跟建网站的人员沟通
  • 长沙app网站开发网络餐饮服务第三方平台提供者
  • 运城网站制作公司精美网页设计源码
  • 滨海哪家专业做网站昆明网站建设_云南网站建设
  • 自助游网站开发分析报告vs做的网站怎么让局域网的看到
  • 合肥能做网站的公司食品网站建设案例
  • 网站流量和带宽怎么申请个人网站
  • 赵县住房和城乡建设局网站使用rem布局的网站
  • 网站无后台添加后台电脑网速很慢但是wifi又很正常
  • 淘宝网站咋做网上做网站 干对缝儿生意
  • 站群宝塔批量建站站长 网站对比