`

hibernate配置实战001

 
阅读更多
school和userMember是一对多关系,一些基本配置就不写了:
SchoolInfo.java
  1. importjavax.persistence.CascadeType;
  2. importjavax.persistence.Column;
  3. importjavax.persistence.Entity;
  4. importjavax.persistence.FetchType;
  5. importjavax.persistence.GeneratedValue;
  6. importjavax.persistence.Id;
  7. importjavax.persistence.OneToMany;
  8. importjavax.persistence.Table;
  9. importjavax.persistence.Temporal;
  10. importjavax.persistence.TemporalType;
  11. importorg.hibernate.annotations.Formula;
  12. importorg.hibernate.annotations.GenericGenerator;
  13. @Entity
  14. @Table(name="school_info")
  15. publicclassSchoolInfoimplementsjava.io.Serializable{
  16. @Id
  17. @GeneratedValue(generator="system-uuid")
  18. @GenericGenerator(name="system-uuid",strategy="uuid")
  19. privateStringid;//hibernate的uuid机制,生成32为字符串
  20. @Column(name="actcodeId",updatable=false,nullable=true,length=36)
  21. privateStringactcodeId;
  22. @Formula("selectCOUNT(*)fromschool_info")
  23. privateintcount;
  24. @Temporal(TemporalType.TIMESTAMP)//不用set,hibernate会自动把当前时间写入
  25. @Column(updatable=false,length=20)
  26. privateDatecreateTime;
  27. @Temporal(TemporalType.TIMESTAMP)
  28. privateDateupdateTime;//刚开始我默认insertable=false,但会读取出错提示如下:
  29. //Value'0000-00-00'cannotberepresentedasjava.sql.Timestamp
  30. // mappedBy="school"就相当于inverse=true,(mappedBy指定的是不需要维护关系的一端)
  31. //应该注意的是mappedBy值对应@ManyToOne标注的属性,我刚开始写成"schoolId",让我郁闷了好一会
  32. @OneToMany(mappedBy="school",cascade=CascadeType.ALL,fetch=FetchType.EAGER,targetEntity=UserMember.class)
  33. //用范性的话,就不用targetEntity了
  34. privateList<usermember>users=</usermember>newArrayList<usermember>();</usermember>
  35. }
@GeneratedValue(strategy=GenerationType.AUTO)我们常用的自增长机制,我这里采用的是hibernate的uuid生成机制.
需要注意的是import javax.xx.Entity ,而不是org.hibernate.xx.Entity。
郁闷的是我上面用到@Formula,生成的sql竟然是'select COUNT(*) from school_info as formula0_ from school_info schoolinfo0_,当然不能执行了,寻求正解中~!!!!!!!!!

UserMember.java(前面引入的包已经贴过了,下面就不贴了)
  1. @Entity
  2. @Table(name="teacher_info")//实体类和数据库表名不一致时,才用这个
  3. publicclassUserMemberimplementsjava.io.Serializable{
  4. @Id
  5. @GeneratedValue(generator="system-uuid")
  6. @GenericGenerator(name="system-uuid",strategy="uuid")
  7. privateStringid;
  8. @Column(updatable=false,nullable=false,length=20)
  9. privateStringlogonName;
  10. @Temporal(TemporalType.TIMESTAMP)
  11. @Column(updatable=false,length=20)
  12. privateDatecreateTime;
  13. @Temporal(TemporalType.TIMESTAMP)
  14. privateDateupdateTime;
  15. @ManyToOne(cascade={CascadeType.MERGE})
  16. @JoinColumn(name="schoolId")
  17. privateSchoolInfoschool;
  18. //注意该类就不用声明schoolId属性了,如果不用@JoinColumn指明关联的字段,hibernate默认会是school_id.
  19. }

分享到:
评论

相关推荐

    Hibernate4实战资料

    Hibernate4 实战 零配置 Hibernate4实战之Hibernate4注解零配置

    Hibernate实战(第2版 中文高清版)

     2.1.3 Hibernate配置和启动   2.1.4 运行和测试应用程序   2.2 启动Java Persistence项目   2.2.1 使用Hibernate Annotations   2.2.2 使用Hibernate EntityManager   2.2.3 引入EJB组件   2.2.4 切换...

    Hibernate4实战之Hibernate4注解零配置

    Hibernate4注解零配置,使用注解方式完成javabean类的持久化

    Hibernate4实战(pdf_source).

    Hibernate4(关系映射,事务,原理,性能和二级缓存,最佳实践) Hibernate4(基本开发,入门,配置,CRUD)

    深入浅出Hibernate中文版 part1

    3.2 Hibernate配置 3.3 日志配置 3.4 第一段代码 3.5 代码初解 第4章 Hibernate基础 4.1 Hibernate基础语义 4.2 基础配置 4.3 Hibernate O/R映射 4.4 数据关联 4.5 Hibernate数据检索 4.6 HQL实用技术 ...

    深入浅出Hibernate(PDF)第一部分

    本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术...

    轻量级Java EE企业应用实战 (第4版) Struts 2+Spring 4+Hibernate整合开发

    《轻量级Java EE企业应用实战:Struts2+Spring4+Hibernate整合开发(第4版)》是《轻量级Java EE企业应用实战》的第4版,第4版保持了前几版内容全面、深入的特点,主要完成全部知识的升级。  《轻量级Java EE企业...

    深入浅出Hibernate.pdf

    本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术...

    深入浅出Hibernate(PDF)第二部分

    本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术...

    深入浅出hibernate(PDF)第三部分

    本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术...

    深入浅出Hibernate

    本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了 Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用...

    中文 深入浅出Hibernate

    本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术...

    轻量级Java EE企业应用实战 第4版 完整版 pdf 下载

    《轻量级Java EE企业应用实战:Struts2+Spring4+Hibernate整合开发(第4版)》是《轻量级Java EE企业应用实战》的第4版,第4版保持了前几版内容全面、深入的特点,主要完成全部知识的升级。  《轻量级Java EE企业...

    深入浅出Hibernate2

    本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术...

    \深入浅出Hibernate

    本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术...

    深入浅出Hibernate中文版 part2

    3.2 Hibernate配置 3.3 日志配置 3.4 第一段代码 3.5 代码初解 第4章 Hibernate基础 4.1 Hibernate基础语义 4.2 基础配置 4.3 Hibernate O/R映射 4.4 数据关联 4.5 Hibernate数据检索 4.6 HQL实用技术 ...

    《深入浅出Hibernate》1

    本书内容深入浅出,先讲述持久层设计与ORM,再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术...

    轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发

    本书是《轻量级JavaEE企业应用实战》的第3版,第3版保持了第2版内容全面、深入的特点,主要完成全部知识的升级。 本书介绍了JavaEE领域的三个开源框架:Struts2、Spring和Hibernate。其中Struts2升级到2.2.1,Spring...

    Hibernate实战

    本课程讲述Java ORM框架Hibernate,内容包括:环境配置、Hibernate架构、SessionFactory、Session、映射文件、基于注解的配置、JPA、HQL查询、Criteria查询、关联映射、缓存、正逆向工程。

Global site tag (gtag.js) - Google Analytics