一 配置

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration><session-factory><!-- 指定连接数据库所用的驱动 --><property  name="connection.driver_class">com.mysql.jdbc.Driver</property><!-- 指定连接数据库的url,其中hibernate是本应用连接的数据库名 --><property  name="connection.url">jdbc:mysql://localhost/hibernate</property><!-- 指定连接数据库的用户名 --><property name="connection.username">root</property><!-- 指定连接数据库的密码 --><property name="connection.password">32147</property><!-- 指定连接池里最大连接数 --><property  name="hibernate.c3p0.max_size">20</property><!-- 指定连接池里最小连接数 --><property name="hibernate.c3p0.min_size">1</property><!-- 指定连接池里连接的超时时长 --><property  name="hibernate.c3p0.timeout">5000</property><!-- 指定连接池里最大缓存多少个Statement对象 --><property  name="hibernate.c3p0.max_statements">100</property><property  name="hibernate.c3p0.idle_test_period">3000</property><property  name="hibernate.c3p0.acquire_increment">2</property><property  name="hibernate.c3p0.validate">true</property><!-- 指定数据库方言 --><property  name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property><!-- 根据需要自动创建数据表 --><property  name="hbm2ddl.auto">update</property><!--①--><!-- 显示Hibernate持久化操作所生成的SQL --><property name="show_sql">true</property><!-- 将SQL脚本进行格式化后再输出 --><property name="hibernate.format_sql">true</property><!-- 罗列所有持久化类的类名 --><mapping class="org.crazyit.app.domain.News"/></session-factory>
</hibernate-configuration>

二 PO

package org.crazyit.app.domain;import javax.persistence.*;
import org.hibernate.annotations.GenericGenerator;@Entity
@Table(name="news_inf")
public class News
{// 消息类的标识属性@Id @Column(name="news_id")// 使用@GenericGenerator定义主键生成器。// 该主键生成器名为fk_hilo,使用Hibernate的hilo策略,@GenericGenerator(name="fk_hilo" , strategy="hilo")// 指定使用fk_hilo主键生成器@GeneratedValue(generator="fk_hilo")private Integer id;// 消息标题private String title;// 消息内容private String content;// id的setter和getter方法public void setId(Integer id){this.id = id;}public Integer getId(){return this.id;}// title的setter和getter方法public void setTitle(String title){this.title = title;}public String getTitle(){return this.title;}// content的setter和getter方法public void setContent(String content){this.content = content;}public String getContent(){return this.content;}
}

三 测试

package lee;import org.hibernate.*;
import org.hibernate.cfg.*;
import org.hibernate.service.*;
import org.hibernate.boot.registry.*;
import org.crazyit.app.domain.*;public class NewsManager
{public static void main(String[] args)throws Exception{// 实例化Configuration,Configuration conf = new Configuration()// 不带参数的configure()方法默认加载hibernate.cfg.xml文件,// 如果传入abc.xml作为参数,则不再加载hibernate.cfg.xml,改为加载abc.xml.configure();ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(conf.getProperties()).build();// 以Configuration实例创建SessionFactory实例SessionFactory sf = conf.buildSessionFactory(serviceRegistry);// 创建SessionSession sess = sf.openSession();// 开始事务Transaction tx = sess.beginTransaction();// 创建消息对象News n = new News();// 设置消息标题和消息内容n.setTitle("疯狂Java联盟成立了");n.setContent("疯狂Java联盟成立了,"+ "网站地址http://www.crazyit.org");// 保存消息sess.save(n);// 提交事务tx.commit();// 关闭Sessionsess.close();sf.close();}
}

四 测试效果

Hibernate实战——GenericGenerator注解相关推荐

  1. Hibernate实战——Generated注解

    一 配置文件 <?xml version="1.0" encoding="GBK"?> <!DOCTYPE hibernate-configu ...

  2. Hibernate,JPA注解@Entity

    通过@Entity注解将一个类声明为一个实体bean(即一个持久化POJO类), @Id注解则声明了该实体bean的标识属性. 其他的映射定义是隐式的. 就是说一个持久化POJO类,除了主键ID需要@ ...

  3. Hibernate,JPA注解@Embeddable

    JPA嵌入式对象(又名组件) 在实体中可以定义一个嵌入式组件(embedded component), 甚至覆盖该实体中原有的列映射. 组件类必须在类一级定义@Embeddable注解. 在特定的实体 ...

  4. Hibernate中的注解说明

    Hibernate中注解注解比较多,常用的也就那么几个,在这里把Hibernate中的注解汇总总结一下. @Entity:将一个类声明为一个实体bean,即一个持久化POJO; @Id:声明bean的 ...

  5. 声明属性Hibernate的Annotation注解

    工作之余抽点时间出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下声明属性 当项目变得比较大的时候,如何还应用hbm.xml文件来配置Hibernate实体就会变得比较复杂.这里Hi ...

  6. Hibernate Validation校验注解详解

    在前后端传递数据的时候,往往后端需要校验传递数据的格式,比如用户名的格式,密码是否为空.我们可以在service层编写代码判断,但是当我们在多处需要校验传递来的数据的时候,就会出现大量重复的代码,一旦 ...

  7. SpringMVC集成Hibernate Validator进行注解式的参数校验——让代码更少、更加专注于业务逻辑

    SpringMVC集成Hibernate Validator进行注解式的参数校验 --让代码更少.更加专注于业务逻辑 1 问题背景: 参数验证是一个常见的问题,例如验证用户输入的密码是否为空.邮箱是否 ...

  8. Hibernate级联操作 注解

    EJB3 支持的操作类型 /*** Cascade types (can override default EJB3 cascades*/ public enum CascadeType {ALL,P ...

  9. 自定义Hibernate Validator规则注解

    自定义规则注解 除了使用已定义的校验规则外,我们也可以根据自定的业务自定义校验规则,接下来我们介绍一下如何自定义 Hibernate Validator校验规则. 创建自定义规则无参数注解介绍 声明自 ...

最新文章

  1. Hadoop会遇到的45个问题,你确定你了解吗?
  2. 长春理工大学第十四届程序设计竞赛(重现赛)M.Orx Zone
  3. java 实体属性个数_?Java中比较实用实体转换工具介绍
  4. web前端----JavaScript的DOM(二)
  5. 软件工程课堂作业——寻找“水王”
  6. C中的malloc:C中的动态内存分配
  7. 小雨的矩阵(DFS三参数模板题)
  8. 【Elasticsearch】elasticsearch里面的关于批量读取mget的用法
  9. 搜狗拼音输入法 V9.1.0.2589 最新去广告精简优化版
  10. html 星星字体,星星字,做华丽的星星文字效果
  11. pycharm 文件名颜色所代表的含义
  12. 基于Python绘制一个摸鱼倒计时界面
  13. 响应式Web设计:HTML5和CSS3实战 读书笔记
  14. 瞬联基于OpenStack的私有云解决方案
  15. 【Leetcode】1833. 雪糕的最大数量
  16. FFmpeg支持QUIC
  17. nbiot开发需要掌握什么_NB-IoT开发都涉及哪些方面?
  18. 联想高志国:超融合已进入2.0时代
  19. 2018(第二届)全球物联网大会在京召开,四化核心推动物联网产业发展
  20. 四位行波进位加法器_【HDL系列】硬件加法器原理与设计小结

热门文章

  1. 【Delphi】从大华科技SDK的C头文件转换来的DHNetSDK.pas和DHConfigSDK.pas
  2. java命令行运行 package_使用命令行运行Java程序
  3. 【Linux】shell脚本实战-if单双分支条件语句详解
  4. MATLAB对RGB彩色图像进行加马赛克处理
  5. 用SOLIDWORKS雕刻万圣节南瓜
  6. 【售前运维】选方向必备之售前岗位详解
  7. 怎么用python爬取老师_Python学习日记2的Scrapy框架。爬行教师信息,爬取
  8. Docker学习笔记-概念和常见命令
  9. 物联网行业的趋势、现状与挑战
  10. 计算机网络专业学英文嘛,网络域名一般都通俗易懂,大多采用英文名称的缩写来命名。-2020年陕西省专业技术人员继续教育网专业课【计算机网络】练习考试课后测试答案...