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

重庆网站开发设计公司电话最好的包装设计公司哪家好

重庆网站开发设计公司电话,最好的包装设计公司哪家好,苏州苏州最新的,小榄网站开发前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.类级别注解 Entity 映射实体类 Table 映射数句库表 Entity(nametableName) - 必须#xff0c;注解将一个类声明…  前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到教程。 1.类级别注解 Entity     映射实体类 Table    映射数句库表 Entity(nametableName) - 必须注解将一个类声明为一个实体bean。 属性 name - 可选对应数据库中的一个表。若表名与实体类名相同则可以省略。 Table(name,catalog,schema)  - 可选通常和Entity 配合使用只能标注在实  体的 class 定义处表示实体对应的数据库表的信息。 属性 name - 可选表示表的名称默认地表名和实体名称一致只有在不一致的情况下才需            要指定表名 catalog - 可选表示Catalog名称默认为 Catalog(). schema - 可选 , 表示 Schema 名称 , 默认为Schema(). 2.属性级别注解 Id     映射生成主键 Version    定义乐观锁 Column     映射表的列 Transient     定义暂态属性   2.1 与主键相关注解 Id - 必须定义了映射到数据库表的主键的属性一个实体只能有一个属性被映射为主  键置于 getXxxx() 前。 GeneratedValue(strategyGenerationType,generator) - 可选用于定义主键生成策略。 属性 Strategy - 表示主键生成策略取值有 GenerationType.AUTO - 根据底层数据库自动选择默认若数据库支持自动              增                                       长类型则为自动增长。 GenerationType.INDENTITY - 根据数据库的Identity字段生成支持DB2、MySQL、                                        MS、SQL Server、SyBase与HyperanoicSQL数据库的Identity                                          类型主键。 GenerationType.SEQUENCE - 使用Sequence来决定主键的取值适合Oracle、DB2等                                      支持Sequence的数据库一般结合SequenceGenerator使用。 (Oracle没有自动增长类型只能用Sequence) GenerationType.TABLE  - 使用指定表来决定主键取值结合TableGenerator使用。 如 Id TableGenerator(nametab_cat_gen,allocationSize1) GeneratedValue(StrategyGenerationType.Table) Generator - 表示主键生成器的名称这个属性通常和ORM框架相关 , 例如 Hibernate 可以指定 uuid 等主键生成方式 SequenceGenerator — 注解声明了一个数据库序列。 属性name - 表示该表主键生成策略名称它被引用在GeneratedValue中设置的“gernerator”值中。sequenceName - 表示生成策略用到的数据库序列名称。initialValue - 表示主键初始值默认为0.allocationSize - 每次主键值增加的大小例如设置成1则表示每次创建新记录后自动加1默认为50.   示例 : Id GeneratedValues(strategyStrategyType.SEQUENCE) public int getPk() { return pk;   }  Hibernate的访问类型为field时在字段上进行注解声 访问类型为property时在getter方法上进行注释声明。 2.2 与非主键相关注解 Version - 可以在实体bean中使用Version注解,通过这种方式可添加对乐观锁定的支持 Basic - 用于声明属性的存取策略 Basic(fetchFetchType.EAGER)   即时获取默认的存取策略 Basic(fetchFetchType.LAZY)    延迟获取 Temporal - 用于定义映射到数据库的时间精度 Temporal(TemporalTypeDATE)       日期 Temporal(TemporalTypeTIME)       时间 Temporal(TemporalTypeTIMESTAMP) 两者兼具 Column - 可将属性映射到列使用该注解来覆盖默认值Column描述了数据库表中           该字段的详细定义这对于根据JPA 注解生成数据库表结构的工具非常有作用。 属性 name - 可选表示数据库表中该字段的名称默认情形属性名称一致 nullable - 可选表示该字段是否允许为 null默认为 true unique - 可选表示该字段是否是唯一标识默认为 false length - 可选表示该字段的大小仅对 String 类型的字段有效默认值255. insertable - 可选表示在ORM框架执行插入操作时该字段是否应出现INSETRT               语句中默认为 true updateable - 可选表示在ORM 框架执行更新操作时该字段是否应该出现在               UPDATE 语句中默认为true. 对于一经创建就不可以更改的字段该           属性非常有用如对于 birthday 字段。 columnDefinition - 可选表示该字段在数据库中的实际类型。通常ORM 框架可以根     据属性类型自动判断数据库中字段的类型但是对于Date 类型仍无法确定数据       库中字段类型究竟是 DATE,TIME 还是 TIMESTAMP. 此外 ,String 的默认映射类型为 VARCHAR, 如果要将 String 类型映射到特定数据库的 BLOB或 TEXT 字段类型该属性非常有用。 示例 : Column(nameBIRTH,nullablefalse,columnDefinitionDATE) public String getBithday() { return birthday; } Transient - 可选表示该属性并非一个到数据库表的字段的映射ORM框架将忽略该属性如果一个属性并非数据库表的字段映射就务必将其标示为Transient否则ORM 框架默认其注解为 Basic 示例 : // 根据 birth 计算出 age 属性 Transient public int getAge() { return getYear(new Date()) - getYear(birth); } 2.3无注解属性的默认值 如果属性为单一类型,则映射为Basic 否则,如果属性对应的类型定义了Embeddable注解,则映射为Embedded 否则,如果属性对应的类型实现了Serializable, 则属性被映射为Basic并在一个列中保存该对象的serialized版本 否则,如果该属性的类型为java.sql.Clob 或 java.sql.Blob,则作为Lob并映射到适当的LobType.。 3.映射继承关系 Inheritance注解来定义所选择的策略. 这个注解需要在每个类层次结构(class hierarchy) 最顶端的实体类上使用 4.映射实体bean的关联关系 4.1关联映射的一些定义 单向一对多一方有集合属性包含多个多方而多方没有一方的引用。用户---电子邮件 单向多对一多方有一方的引用一方没有多方的引用。论文类别--- 类别 双向一对多两边都有多方的引用方便查询。班级--- 学生 双向多对一两边都有多方的引用方便查询。 单向多对多需要一个中间表来维护两个实体表。论坛---文章 单向一对一数据唯一数据库数据也是一对一。舰船--- 水手 主键相同的一对一使用同一个主键省掉外键关联。客户--- 地址 单向关系写哪边就由谁管理。 双向一般由多方管理。 OneToMany(mappedBy对方) //反向配置对方管理。 4.2 关联映射的一些共有属性 OneToOne、OneToMany、ManyToOne、ManyToMany的共有属性 fetch - 配置加载方式。取值有 Fetch.EAGER -  及时加载多对一默认是Fetch.EAGER  Fetch.LAZY - 延迟加载一对多默认是Fetch.LAZY cascade - 设置级联方式取值有 CascadeType.PERSIST - 保存 CascadeType.REMOVE - 删除 CascadeType.MERGE - 修改 CascadeType.REFRESH - 刷新 CascadeType.ALL - 全部 targetEntity - 配置集合属性类型如OneToMany(targetEntityBook.class) JoinColumn - 可选用于描述一个关联的字段。 JoinColumn和Column类似介量描述的不是一个简单字段而是一个关联字段例如描述一个 ManyToOne 的字段。 属性 name - 该字段的名称由于JoinColumn描述的是一个关联字段如ManyToOne, 则默认的名称由其关联的实体决定。 例如实体 Order 有一个user 属性来关联实体 User, 则 Order 的 user 属性为一个外键 , 其默认的名称为实体User的名称  下划线  实体User的主键名称 4.3 一对一关联 OneToOne – 表示一个一对一的映射 1.主表类A与从表类B的主键值相对应。  主表OneToOne(cascade CascadeType.ALL)      PrimaryKeyJoinColumn      public B getB(){ Return b; } 从表无 2.主表A中有一个从表属性是B类型的b 主表OneToOne(cascade CascadeType.ALL)    JoinColumn(name主表外键)   //这里指定的是数据库中的外键字段。    public B getB(){ return b; } 从表无 3.主表A中有一个从表属性是B类型的b同时从表B中有一个主表属性是A类型的a 主表OneToOne(cascade CascadeType.ALL)    JoinColumn(name主表外键)   //这里指定的是数据库中的外键字段。    public B getB(){ return b; } 从表OneToOne(mappedBy 主表类中的从表属性)    public 主表类 get主表类(){ return 主表对象 }   注意JoinColumn是可选的。默认值是从表变量名_从表的主键注意这里加的是主键。而不是主键对应的变量。 4.4 多对一关联 ManyToOne - 表示一个多对一的映射该注解标注的属性通常是数据库表的外键。 1.单向多对一多方有一方的引用一方没有多方的引用。 在多方 ManyToOne(targetEntityXXXX.class)   //指定关联对象 JoinColumn(name)                            //指定产生的外键字段名 2.双向多对一配置方式同双向一对多。 示例 : // 订单 Order 和用户 User 是一个 ManyToOne 的关系 // 在 Order 类中定义 ManyToOne() JoinColumn(nameUSER) public User getUser() { return user; } 4.5 一对多关联 OneToMany - 描述一个一对多的关联该属性应该为集合类型在数据库中并没有实际字段。 1.单向一对多一方有集合属性包含多个多方而多方没有一方的引用。 OneToMany  默认会使用连接表做一对多关联 添加JoinColumn(namexxx_id) 后就会使用外键关联而不使用连接表了。 2.双向一对多 1在多方 ManyToOne JoinColumn(name自己的数据库外键列名) 2在一方 OneToMany(mappedBy多端的关联属性名) JoinColumn(name对方的数据库外键列名) 4.6 多对多关联 ManyToMany - 可选描述一个多对多的关联。 属性 targetEntity - 表示多对多关联的另一个实体类的全名例如package.Book.class mappedBy - 用在双向关联中把关系的维护权翻转。 1.单向多对多关联 在主控方加入ManyToMany注解即可。 2.双向多对多关联 两个实体间互相关联的属性必须标记为ManyToMany并相互指定targetEntity属性。有且只有一个实体的ManyToMany注解需要指定mappedBy属性指向targetEntity的集合属性名称。 [From:blog_935ebb670101dnre.html] Entity注册在类头上将一个类声明为一个实体bean(即一个持久化POJO类) 。Table注册在类头上注解声明了该实体bean映射指定的表table。Id用来注册主属性GeneratedValue用来注册主属性的生成策略Column用来注册属性Version用来注册乐观锁Transient用来注册不是属性。 以上的Id、GeneratedValue、 Column 、 Version可以用来注册属性既可以写在Java类的属性上也可以注册在属性对应的getter上。 Transient注册在多余的属性或多余的getter上但是必须与以上的Column等对应。 Column 标识属性对应的字段示例Column(name“userName) Column(     namecolumnName;                                (1)     boolean unique() default false;                   (2)     boolean nullable() default true;                  (3)     boolean insertable() default true;                (4)     boolean updatable() default true;                 (5)     String columnDefinition() default ;             (6)     String table() default ;                        (7)     int length() default 255;                         (8)     int precision() default 0; // decimal precision   (9)     int scale() default 0; // decimal scale           (10) (1) name 可选,列名(默认值是属性名) (2) unique 可选,是否在该列上设置唯一约束(默认值false) (3) nullable 可选,是否设置该列的值可以为空(默认值false) (4) insertable 可选,该列是否作为生成的insert语句中的一个列(默认值true) (5) updatable 可选,该列是否作为生成的update语句中的一个列(默认值true) (6) columnDefinition 可选: 为这个特定列覆盖SQL DDL片段 (这可能导致无法在不同数据库间移植) (7) table 可选,定义对应的表(默认为主表) (8) length 可选,列长度(默认值255) (8) precision 可选,列十进制精度(decimal precision)(默认值0) (10) scale 可选,如果列十进制数值范围(decimal scale)可用,在此设置(默认值0) Id标识这个属性是实体类的唯一识别的值。 注意这个注解只能标注单一列构成的主键如tbl_grade那种有两个字段组成的联合主键由其他注解标识。 回忆*.hbm.xml uuid assigned/ Id只是标识这个属性是主键但是并没有指出其生成策略如上例中的assigned就是由程序员指定的生成策略。 如果仅仅写出Id即是使用assigned生成略如 Id Column private int uuid; 如果想使用Oracle支持的sequence取主键必须通过GeneratedValue来指定生成策略而由SequenceGenerator指定如何使用sequence。 Id Column GeneratedValue( strategy GenerationType.SEQUENCE,//使用sequence生成主键 generator “generator“//引用下面名为gernator的生成策略 ) SequenceGenerator( name “generator”,//定义名为generator的生成策略 allocationSize 1//每次sequence加1 name“seq_a”//引用名为seq_a的sequence ) private int uuid; Version 标识这个属性用来映射乐观锁的version Transient 标识这个属性不用持久化 Embeddable【小对象的头上】 标识实体中可以定义一个嵌入式组件(embedded component)。组件类必须在类一级定义Embeddable注解。 Embedded【大对象的属性头上】 引用定义的小对象。 Embeddable【小对象的头上】 标识实体中可以定义一个嵌入式组件(embedded component)。组件类必须在类一级定义Embeddable注解。 注意如果这个小对象作为复合主键一定要实现Serializable接口。这并不是注解决定的而是Hibernate的主键都需要实现Serializable接口。 EmbeddedId 【大对象的属性头上】 引用定义的小对象作为主键。 注意不需要再使用Id注解。 标准的1:1 XML的配置 主1【tbl_product】 从1【tbl_product_info】 product【引用自己的Java属性名】   注解的配置 主1【tbl_product】 OneToOne(cascadeCascadeType.ALL) PrimaryKeyJoinColumn private ProductInfoModel info; 从1【tbl_product_info】 Id Column GeneratedValue(generator“copy【引用生成策略】) GenericGenerator(name“copy【定义生成策略】”,strategy“foreign【写死使用外来策略】”,parametersParameter(name“property”,value“product【引用自己的Java属性】)) private int uuid; OneToOne(mappedBy“info【引用对方的Java属性】) private ProductModel product;   标准的1:M XML的配置 1【tbl_parent】                     多【tbl_child】 注解的配置 1【tbl_parent】 OneToMany JoinColumn(namepuuid【对方的数据库外键列名】) private Set children new HashSet(); 多【tbl_child】 ManyToOne JoinColumn(namepuuid【自己的数据库外键列名】) private ParentModel parent;     主1【tbl_product】    cascadeall/   从1【tbl_product_info】   true【写死】/   注解的配置 主1【tbl_product】 OneToOne(cascadeCascadeType.ALL,mappedBy“product【对方的Java类属性名】) private ProductInfoModel info; 从1【tbl_product_info】 OneToOne JoinColumn(name“puuid【自己的数据库外键列名】) private ProductModel product; XML的配置 1【tbl_parent】                 class“cn.javass.model.d.ChildModel【对方的Java类名】/                         注解的配置 1【tbl_parent】   OneToMany(mappedByparent【对方的Java类属性名 】)   private Set children  new HashSet();   多【tbl_child】   ManyToOne  JoinTable(   name“tbl_parent_child【联接表】,   joinColumnsJoinColumn(namecuuid【联接表里代表自己的数据库字段名】),   inverseJoinColumnsJoinColumn(namepuuid【联接表里代表对方的数据库字段名】)   )   private ParentModel parent;   XML的配置 1【tbl_product】                   注解的配置 1【tbl_product】 ManyToOne JoinTable( name tbl_product_relation 【联接表】,joinColumnsJoinColumn(namesuuid【联接表里代表自己的列名】),inverseJoinColumnsJoinColumn(namecuuid【联接表里代表对方的列名】,uniquetrue【写死】) ) private CourseModel course;   [From: http://sishuok.com/forum/blogPost/insert.html] 错误一 错误信息javax.persistence.Table.indexes([Ljavax/persistence/Index 原因Hibernate4.3不支持table(nametablename) 解决方案使用entity(nametablename)代替table(nametablename) 错误二 错误信息javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey 原因Hibernate4.3在多对一映射的时候不能使用JoinColumn 解决方案只写ManyToOne 错误三 错误信息javax.persistence.OneToMany.orphanRemoval()Z 原因javaee、ejb或junit的jar包与hibernate-jpa-2.0-api-1.0.0.Final.jar冲突 解决方案查看是否存在以上jar包如果存在去掉即可
http://www.zqtcl.cn/news/979203/

相关文章:

  • 网站建设推荐华网天下土巴兔装修平台怎么收费
  • 微网站 网页成品网站模块
  • soap公司网站wordpress 相关推荐
  • 浙江质监站网址固始网站建设公司
  • 济南 外贸网站建设怎么知道网站是哪个公司做的
  • 分享wordpress优秀主题东莞百度seo找谁
  • 顺德网站制作案例价位超兽vps群
  • 网站建设 搜狐号电脑赚钱的项目有哪些
  • 做生意的网站广州互联网企业100强
  • 网站单页支付宝支付怎么做网站制作公司套路
  • 本网站维护升级官方网站建设滞后
  • 网站上漂亮的甘特图是怎么做的江门seo方法
  • 局域网建设网站seo优化查询
  • 网站安装模板wordpress多个函数文件
  • 网站建设飠金手指排名十二毕业设计论文网
  • 高密哪里做网站好网络营销的四大特点
  • 网站锚文本怎么做怎么在网上接网站建设
  • php做公司网站中国大工程建设需要什么样的人才
  • 优化公司怎么优化网站的技能网站建设项目需求
  • wordpress怎么修改主页网站改版seo
  • 做视频网站需要多少带宽lnmp wordpress 数据库
  • 网站速度慢wordpress徐州网络推广公司
  • 网站建设增城seo外链是什么意思
  • php做企业网站管理系统免费网站制作手机软件的app
  • 商城网站建设咨询如何通过网站后台修改网站
  • 重庆网站建设论文2 如何写一份详细的网站开发方案
  • 宁波门户网站建设做购物网站表结构分析
  • 上传网站图片处理画册设计多少钱一页
  • 网站做标签页新公司网站建设都有哪些优势
  • 上门做指甲哪个网站百度搜索榜