Hibernate中使用注解
来源:互联网 发布:有顶天家族知乎 编辑:程序博客网 时间:2024/06/06 17:39
Annotation在项目中的使用越来越多,同样hibernate中支持Annotation,如果在hibernate中使用注解,从而轻XML配置,从下面简单的小例子加以说明。
1、实体类Emp.java
package com.yy.hibernate.model;import javax.persistence.Entity;import javax.persistence.Id;@Entity// 实体类public class Emp {private int id;private String name;@Id// 主键public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}2、hibernate.cfg.xml文件
<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory ><property name="hibernate.connection.url">jdbc:mysql://127.0.0.1/hibernate</property><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">root</property><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><property name="hibernate.show_sql">true</property><!-- <property name="hibernate.hbm2ddl.auto">update</property> --><property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property><mapping class="com.yy.hibernate.model.Emp"/> <!--使用注解--></session-factory></hibernate-configuration>3、客户端
public class EmpTest {public static void main(String[] args) {//使用注解Configuration config = new AnnotationConfiguration().configure();SessionFactory factory = config.buildSessionFactory();Session session = factory.openSession();Emp emp = new Emp();emp.setId(11);emp.setName("yy");try{session.beginTransaction();session.save(emp);session.getTransaction().commit();}catch(Exception e){session.getTransaction().rollback();}finally{session.close();factory.close();}}}注意:
在该简单示例中,实体类和数据库表是对应的,字段也是统一的。
如果表名和实体类不一致,则需加如下注解:
@Table(name="_emp")如果数据库表中字段名和实体类中字段名保持相同,默认在getXXX方法上加如下注解:
@Basic
如果数据库表中字段名和实体类中字段名不一致,则需在getXXX方法上加如下注解:
@Column(name="_name")public String getName() {return name;}
如果某个字段不想持久化,则则getXXX方法上加如下注解:
@Transientpublic String getName() {return name;}对应的,如果在XML配置中不想持久化,则需要在hbm.xml文件中不配置该字段即可。
如果是枚举类型,则需要在getXXX方法上加如下注解:
@Enumerated(EnumType.ORDINAL)public Level getLevel() {return level;}此时EnumType.ORDINAL映射字段为整形,如果为EnumType.STRING则映射为varchar类型。
0 1
- Hibernate中使用注解
- hibernate中@Transient注解使用
- Hibernate中使用注解生成联合主键
- 集成struts2 spring hibernate中使用注解
- Hibernate中@Formula注解的使用
- hibernate中JPA注解
- hibernate中注解总结
- hibernate 注解的使用
- Hibernate注解使用
- hibernate注解简单使用
- Hibernate注解使用
- hibernate使用注解
- Hibernate注解的使用
- Hibernate使用注解方式
- Hibernate 注解使用
- Hibernate 注解使用总结
- Hibernate使用注解
- Java Hibernate注解使用
- iOS学习:调用相机,选择图片上传,带预览功能
- Android后台推送服务的实现设计
- 用文件句柄读取内存内容
- 2013年编程之美资格赛试题--传话游戏
- 第六章:iOS恶意软件和后门 ——6.2 后台任务,守护进程和启动服务
- Hibernate中使用注解
- 第六章:iOS恶意软件和后门 ——6.3 后门、恶意软件实例
- 常见的布局
- bootstap
- 三角形类的构造函数(4)
- Scroll Dialog
- libzdb使用
- “拿来主义”里面的道道
- easyui 自定义Loading效果