hibernate注解实体类


只要在hibernate.cfg.xml里加上如下代码

  <property name="hbm2ddl.auto">update</property>

  validate               加载hibernate时,验证创建数据库表结构

  create                  每次加载hibernate,重新创建数据库表结构

  create-drop        加载hibernate时创建,退出是删除表结构

  update                 加载hibernate自动更新数据库结构

 1 @Entity         //说明这是一个实体Bean
 2 @Table(name = "stbid_type") //可选,通常和@Entity配合使用,只能标注在实体的class定义处,表示实体对应的数据库表的信息                    //name:可选,表示表的名称.默认地,表名和实体名称一致,只有在不一致的情况下才需要指定表名                    //catalog:可选,表示Catalog名称,默认为Catalog("").                    //schema:可选,表示Schema名称,默认为Schema("").
 3 public class StbidType {
 4     private Long id;
 5     /**
 6      * 厂商
 7      */
 8     private String company;
 9     /**
10      * 设备型号
11      */
12     private String terminal;
13     /**
14      * 设备stbid
15      */
16     private String stbid;
17     /**
18      * 添加时间
19      */
20     private Date createTime;
21     @Id                                         //@id定义了映射到数据库表的主键的属性,一个实体只能有一个属性被映射为主键.置于getXxxx()前.
22     @GeneratedValue(strategy = GenerationType.AUTO, generator = "stbid_type_seq")    //strategy:表示主键生成策略,有AUTO,INDENTITY,SEQUENCE 和 TABLE 4种,                                                              //分别表示让ORM框架自动选择,根据数据库的Identity字段生成,根据数据库表的Sequence字段生成,以有根据一个额外的表生成主键,默认为AUTO                                                         //generator:表示主键生成器的名称,这个属性通常和ORM框架相关,例如,Hibernate可以指定uuid等主键生成方式.
23     @SequenceGenerator(name = "stbid_type_seq", allocationSize = 1, sequenceName = "stbid_type_seq")
24     public Long getId() {
25         return id;
26     }
27     public void setId(Long id) {
28         this.id = id;
29     }
30     @Column(name = "company", length = 200, nullable = true)
31     public String getCompany() {
32         return company;
33     }
34     public void setCompany(String company) {
35         this.company = company;
36     }
37     @Column(name = "terminal", length = 200, nullable = true)
38     public String getTerminal() {
39         return terminal;
40     }
41     public void setTerminal(String terminal) {
42         this.terminal = terminal;
43     }
44     @Column(name = "stbid", length = 100, nullable = false)
45     public String getStbid() {
46         return stbid;
47     }
48     public void setStbid(String stbid) {
49         this.stbid = stbid;
50     }
51     @JSON(format = "yyyy-MM-dd HH:mm:ss")
52     @Temporal(TemporalType.TIMESTAMP)// 数据库中存储可能是‘yyyy-MM-dd hh:MM:ss‘要获得‘是‘yyyy-MM-dd hh:MM:ss‘,在该属性上标注 @Temporal(TemporalType.TIMESTAMP) 会得到形如‘HH:MM:SS‘
53     @Column(name = "create_time")
54     public Date getCreateTime() {
55         return createTime;
56     }
57     public void setCreateTime(Date createTime) {
58         this.createTime = createTime;
59     }
60
61 }
时间: 2024-10-27 08:35:01

hibernate注解实体类的相关文章

Hibernate之实体类配置

1.@Column属性 (1)设置字段属性唯一 @Column(unique=true) private String name; Done Hibernate之实体类配置

Hibernate之实体类设计基本步骤

1.先设计一个基类BaseBean (1)@MappedSuperclass表示实体类父类 package com.life.hibernate.bean; import java.util.Date; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Temporal; im

hibernate中实体类注解

一.JPA通用策略生成器 通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id, 其生成规则由@GeneratedValue设定的.这里的@id和@GeneratedValue都是JPA的标准用法, JPA提供四种标准用法,由@GeneratedValue的源代码可以明显看出. Target({METHOD,FIELD}) @Retention(RUNTIME) public @interface GeneratedValue{ G

Hibernate在实体类中对于时间的注解

在时间类型DATE 属性上添加一个 @Temporal(TemporalType.DATE)(精确到年月日)@Temporal(TemporalType.TIME)(精确到时分秒)@Temporal(TemporalType.TIMESTAMP)(默认年月日时分秒)示例: @Temporal(TemporalType.DATE)private Date updateDate; 有了这个就不需要用java代码将时间戳,转换成需要的日期格式.直接在实体类中进行注解!

eclipse逆向生成hibernate的实体类

eclipse从数据库逆向生成Hibernate实体类(注解和配置文件) 分类: hibernate 数据库 java 2011-10-22 21:28 2915人阅读 评论(8) 收藏 举报 做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再"自己"建立一变VO.意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表:要么就先进行数据库表设计,再逆向生成实体类.没有说进

hibernate插入实体类【数据库默认值】不生效的问题

第一个问题老生常谈 如果表结构设置默认值 数据库实体类不对该字段进行复制的情况下插入数据记录 字段直接以数据库设置的默认值进行插入hibernate本身可以根据XML配置进行生效此配置 1 <hibernate-mapping 2     package="*.entity"> 3     <class name="ProEntity" table="PRODUCTINFO" dynamic-insert="true&

Hibernate框架 —— 实体类的自动生成

一: hibernate框架 框架在一定程度上可以理解为一个半成品. Hibernate框架是对数据库进行操作,完成数据持久化得重任. 二: 配置 使用hibernate 需要先下载hibernate.如果要下载最新版的可以去官网下载,而对于历史版本,官网中好像很难找到,不过以下地址可是试试的哦! -> 3.0及以上版本 ->4.0及以上版本 不过在下使用的是3.3.2版本的.另外再说说各版本的意思:    rc 版--发布候选版,表示可能有bug,内容不会有很大的变动    ga 版--稳定

hibernate映射实体类查询时数据库空字段赋值给实体类报错的问题

因为一直报实体类空异常,去网上查了资料只查到了并没有查到数据库空值时不给实体类赋值的属性,只有这两个属性 这两个属性时设置 实体类有空字段插入或更新 数据库时空属性为默认值 异常 org.hibernate.InvalidMappingException: Could not parse mapping document from resource cn/pojo/EmpDao.xml at org.hibernate.cfg.Configuration.addResource(Configur

Spring 注解实体类中非数据库字段属性

解决办法:在属性的get方法上加上一段注解标识它是临时属性,不是数据库字段就OK @Transient public List<Reverts> getChildList() { return childList; } public void setChildList(List<Reverts> childList) { this.childList = childList; } 记得导入的是:import javax.persistence.Transient;