`
bzqgo
  • 浏览: 7653 次
社区版块
存档分类
最新评论

通过hibernate实体java文件 立即生成数据库table

 
阅读更多

我们在开发的时候有的时候可能想在创建数据库的实体文件后立即创建数据库表, 已核验实体文件的正确性, 以往可能需要重启项目,并且项目中需要要必要的配置,比较麻烦,并且比较费时,其实可以通过简单的配置即可立即生成数据库表;

样例文件

package secfox.soc.emergency.domain;

import java.util.Date;

import secfox.soc.melon.persistence.BaseDomain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
@Entity
@Table(name="T_EMERGENCY")
@NamedQueries({
	//获取所有的数据
	@NamedQuery(name="emergency.findAll", query="select a from Emergency a "),
})
public class Emergency extends  BaseDomain<Long>{
	@Id
	@Column(name="PK")
	@GeneratedValue(generator="GEN_SEQ_ALARM")
   private Long id;
	
	//报告人
	@Column(name="REPORTER")
   private String reporter;
	//联系电话
	@Column(name="PHONE")
   private String phone;
	//传真
	@Column(name="FAX")
   private String fax;
	//电子邮件
	@Column(name="EMAIL")
   private String email;
	//通讯地址
	@Column(name="ADDRESS")
   private String address;
	//应急相应名称
	@Column(name="NAME")
   private String name;
	//发生时间
	@Column(name="OCCTIME")
   private Date occtime;
	//发现时间
	@Column(name="FINDTIME")
   private Date findtime;
	//信息系统说明
	@Column(name="INSTRUCTION")
   private String instruction;
	//信息系统负责部门
	@Column(name="DEPARTMENT")
   private String department;
	//信息系统负责人
	@Column(name="MANAGER")
   private String manager;
	//信息安全事件描述
	@Column(name="DESCRIBtion")
   private String describtion;
	//信息安全事件类型
	@Column(name="TYPE")
   private String type;
	//信息安全事件级别
	@Column(name="LEVEL")
   private String level;
	//初步原因判断
	@Column(name="REASON")
   private String reason;
	//影响范围和严重程度
	@Column(name="EFFECTRANGE")
   private String effectrange;
	//受影响资产
	@Column(name="EFFECTPROPERTY")
   private String effectproperty;
	//已采取措施
	@Column(name="STEP")
   private String step;
	//计划采取措施
	@Column(name="PLANSTEP")
   private String planstep;
	//领导小组意见
	@Column(name="LEADOPTION")
   private String leadoption;
	//总局应急意见
	@Column(name="HEADOPTION")
   private String headoption;
	//省局应急办意见
	@Column(name="SHENGOPTION")
   private String shengoption;
	//信息安全主管意见
	@Column(name="MANAGEOPTION")
   private String manageoption;
	//信息状态
	@Column(name="STATE")
	   private String state;
	//工作流id
	@Column(name="WORKFLOWID")
	private String workflowid;
	
	@ManyToOne(targetEntity = PlanEmergency.class, fetch = FetchType.EAGER, optional = true)
	@JoinColumn(name = "FK_PLAN", nullable = true, unique = false)	
	private PlanEmergency planEmergency;
	 
public String getWorkflowid() {
		return workflowid;
	}
	public void setWorkflowid(String workflowid) {
		this.workflowid = workflowid;
	}
public String getState() {
		return state;
	}
	public void setState(String state) {
		this.state = state;
	}
public String getReporter() {
		return reporter;
	}
	public void setReporter(String reporter) {
		this.reporter = reporter;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public String getFax() {
		return fax;
	}
	public void setFax(String fax) {
		this.fax = fax;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Date getOcctime() {
		return occtime;
	}
	public void setOcctime(Date occtime) {
		this.occtime = occtime;
	}
	public Date getFindtime() {
		return findtime;
	}
	public void setFindtime(Date findtime) {
		this.findtime = findtime;
	}
	public String getInstruction() {
		return instruction;
	}
	public void setInstruction(String instruction) {
		this.instruction = instruction;
	}
	public String getDepartment() {
		return department;
	}
	public void setDepartment(String department) {
		this.department = department;
	}
	public String getManager() {
		return manager;
	}
	public void setManager(String manager) {
		this.manager = manager;
	}
	 
	public String getDescribtion() {
		return describtion;
	}
	public void setDescribtion(String describtion) {
		this.describtion = describtion;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public String getLevel() {
		return level;
	}
	public void setLevel(String level) {
		this.level = level;
	}
	public String getReason() {
		return reason;
	}
	public void setReason(String reason) {
		this.reason = reason;
	}
	public String getEffectrange() {
		return effectrange;
	}
	public void setEffectrange(String effectrange) {
		this.effectrange = effectrange;
	}
	public String getEffectproperty() {
		return effectproperty;
	}
	public void setEffectproperty(String effectproperty) {
		this.effectproperty = effectproperty;
	}
	public String getStep() {
		return step;
	}
	public void setStep(String step) {
		this.step = step;
	}
	public String getPlanstep() {
		return planstep;
	}
	public void setPlanstep(String planstep) {
		this.planstep = planstep;
	}
	public String getLeadoption() {
		return leadoption;
	}
	public void setLeadoption(String leadoption) {
		this.leadoption = leadoption;
	}
	public String getHeadoption() {
		return headoption;
	}
	public void setHeadoption(String headoption) {
		this.headoption = headoption;
	}
	public String getShengoption() {
		return shengoption;
	}
	public void setShengoption(String shengoption) {
		this.shengoption = shengoption;
	}
	public String getManageoption() {
		return manageoption;
	}
	public void setManageoption(String manageoption) {
		this.manageoption = manageoption;
	}
	
	public PlanEmergency getPlanEmergency() {
		return planEmergency;
	}
	public void setPlanEmergency(PlanEmergency planEmergency) {
		this.planEmergency = planEmergency;
	}
public Long getId() {
	System.out.println("得到id值:"+id);
	return id;
}
public void setId(Long id) {
	this.id=id;
}
@Override
public boolean equals(Object obj) {
	// TODO Auto-generated method stub
	return false;
}
@Override
public int hashCode() {
	// TODO Auto-generated method stub
	return 0;
}
@Override
public String toString() {
	// TODO Auto-generated method stub
	return "Emergency [id="+id+",reporter="+reporter+"]";
}
}


配置hibernate配置文件

<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
	<!--
		?useUnicode=true&characterEncoding=UTF-8设置数据库编码,mysql安装时默认为Latin1
	-->
<hibernate-configuration>
	<session-factory>
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
			<property name="connection.url">jdbc:mysql://10.70.177.158:3306/ums</property>
			<property name="connection.username">soc</property>
			<property name="connection.password">soc</property>
			<property name="dialect">org.hibernate.dialect.MySQLDialect</property>		
		<property name="hbm2ddl.auto">update</property>
		<!--是否在控制台显示SQL语句,开发阶段开启,便于调试-->
		<property name="show_sql">true</property>
		<!--是否在控制台格式化显示SQL语句,方便查看-->
		<property name="format_sql">true</property>
		<!--
			<property name="cache.use_second_level_cache">true</property>
			<property name="cache.use_query_cache">true</property> <property
			name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
		-->
			<mapping class="secfox.soc.emergency.domain.Emergency" />
			<mapping class="secfox.soc.emergency.domain.EmergencyApproval" />
			<mapping class="secfox.soc.emergency.domain.EmergencyDispose" />
			<mapping class="secfox.soc.emergency.domain.PlanEmergency" />
			
				
		
		
	</session-factory>
</hibernate-configuration>

对应java执行程序

   
import org.hibernate.cfg.AnnotationConfiguration;  
import org.hibernate.cfg.Configuration;  
  

 
  
public class HibernateAnnotationTest  {  
	public static void main(String[] args) { 
        Configuration cfg = new AnnotationConfiguration().configure("/me/hibernate.cfg.xml");  
        cfg.buildSessionFactory();  
    }  
} 



其实只需要这么简单的配置即可实现,不妨可以试验下!

分享到:
评论

相关推荐

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    Hibernate自动生成数据库表映射实体类

    "import java.util.Calendar;\n\n"; str += "@Entity\n"; str += "@Table(name=\"$\")\n".replace("$", NameOfTable); str += "public class $ {\n".replace("$", NameOfTable.substring(2)); str += "\n @Id\n...

    JAVA上百实例源码以及开源项目

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    Hibernate注释大全收藏

    通过 @Table 为实体Bean指定对应数据库表,目录和schema的名字。 @Entity @Table(name="tbl_sky") public class Sky implements Serializable { ... @Table 注解包含一个schema和一个catelog 属性,使用@...

    JAVA上百实例源码以及开源项目源代码

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    Hibernate Annotations 中文文档

    Hibernate Annotations API 中文文档 前言 1. 创建一个注解项目 1.1. 系统需求 1.2. 系统配置 2. 实体Bean 2.1. 简介 2.2. 用EJB3注解进行映射 2.2.1. 声明实体bean 2.2.1.1. 定义表(Table) 2.2.1.2. 乐观...

    hibernate3.2中文文档(chm格式)

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    HibernateAPI中文版.chm

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    最全Hibernate 参考文档

    3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 3.8.2. JNDI绑定的SessionFactory 3.8.3. JTA和Session的自动绑定 3.8.4. JMX部署 4. 持久化类(Persistent Classes) 4.1. 一个简单的...

    Hibernate中文详细学习文档

    符合Java习惯的关系数据库持久化 前言 1. 翻译说明 2. 版权声明 1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. ...

    Hibernate教程

    Hibernate参考文档 目录 前言 1. 翻译说明 2. 版权声明 1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第...

    BOS 技术整理

    Hibernate 实体类 生成表结构 ---- 领域(Domain)驱动建模 这次使用的是驱动建模,传统的设计模式是: 先设计表,再创建实体 JPA 注解使用 @Entity 标明是实体类 @Table 映射表名称 @Id 主键标识 @...

    hibernate3.04中文文档.chm

    符合Java习惯的关系数据库持久化 目录 前言 1. 翻译说明 2. 版权声明 1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 ...

    支持多数据库的ORM框架ef-orm.zip

    从数据库元数据访问,到建表,创建约束,创建sequence等各种DDL操作进行了封装,用户无需编写各种SQL,可以直接通过API操作数据库结构。 尤其是ALTER TABLE等修改数据库的语句,各种不同的RDBMS都有较大语法差异。...

    code-generater:此版本不在维护 请前往使用 https

    支持大部分JPA注解解析,可通过此代码生成器快速从hibernate转换到mybatis。 抽取查询对象,简化查询。QuerModel 自动驼峰装换 实体类demo //JPA注解 需要解析的类必须加此注解 @Entity //JPA注解 name表示数据表的...

    postgres-json-jpa:关于如何通用处理一个表中存储的多个实体的概念证明

    Postgres JSONB字段的spring-data-jpa用法这个简单的项目可用作在JSONB字段中通用存储数据的PoC。... 包含人员的表(由Hibernate在此处生成)如下所示: CREATE TABLE person( dtype character varying ( 31 ) NOT

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    本网站以xp为Web平台,JSP+Ajax+Servlet+JavaBean+Hibernate为网站实现技术,建立基于MySQL数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。 1、 系统处理的准确性和及时性:系统处理的...

    spring_MVC源码

    建好表后,生成实体类 [java] view plaincopy 01.package com.mvc.entity; 02. 03.import java.io.Serializable; 04. 05.import javax.persistence.Basic; 06.import javax.persistence.Column; 07....

    Guns系统技术文档及视频

    导入sql/guns.sql文件到mysql数据库 以maven方式导入项目到ide 修改application.yml中的数据库相关的配置,改为您本机的数据库配置 启动项目,管理员账号admin/密码111111 ###如何启动项目 Guns目前支持三种启动方式: ...

Global site tag (gtag.js) - Google Analytics