配置spring整合jpa自动生成数据表

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"><!-- 扫描 @Server @Controller @Repository --><context:component-scan base-package="cn.nwtxxb"/><!-- 加载properties文件 --><context:property-placeholder location="classpath:config.properties" /><!-- 数据库连接池 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="${jdbc.driver}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.user}"/><property name="password" value="${jdbc.password}"/></bean><!-- 整合jpa配置 --><bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"><property name="dataSource" ref="dataSource"/><property name="packagesToScan" value="cn.nwtxxb.bos.domain"/><property name="persistenceProvider"><bean class="org.hibernate.jpa.HibernatePersistenceProvider"/></property><property name="jpaVendorAdapter"><bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"><property name="generateDdl" value="true"/><property name="database" value="ORACLE"/><property name="databasePlatform" value="org.hibernate.dialect.Oracle10gDialect"/><property name="showSql" value="true"/></bean></property><property name="jpaDialect"><bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect"/></property><property name="jpaPropertyMap"><map><entry key="hibernate.query.substitutions" value="true 1,false 0"/><entry key="hibernate.default_batch_fetch_size" value="16"/><entry key="hibernate.max_fetch_depth" value="2"/><entry key="hibernate.generate_statistics" value="true"/><entry key="hibernate.bytecode.use_reflection_optimizer" value="true"/><entry key="hibernate.cache.use_query_cache" value="false"/></map></property></bean><!-- jpa事务管理器 --><bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"><property name="entityManagerFactory" ref="entityManagerFactory"/></bean><!-- 注解管理事务 --> <tx:annotation-driven transaction-manager="transactionManager"/><!-- 整合spring data jpa --><!-- <jpa:repository base-package="cn.nwtxxb.bos.dao"/> --></beans>

档案类Archive:

/*** @description:档案类,记录所有的分类信息,在子档中*/
@Entity
@Table(name = "T_ARCHIVE")
public class Archive {@Id@GeneratedValue@Column(name = "C_ID")private Integer id; // 主键@Column(name = "C_ARCHIVE_NUM", unique = true )private String archiveNum;// 档案编号@Column(name = "C_ARCHIVE_NAME")private String archiveName; // 档案名称@Column(name = "C_REMARK")private String remark; // 备注@Column(name = "C_HASCHILD")private Integer hasChild;// 是否分级 0代表不分级 1代表分级@Column(name = "C_OPERATING_TIME")@Temporal(TemporalType.TIMESTAMP)private Date operatingTime;// 操作时间@Column(name = "C_OPERATOR")private String operator; // 操作员@Column(name = "C_OPERATING_COMPANY")private String operatingCompany; // 操作单位@OneToMany(mappedBy = "archive")private Set<SubArchive> subArchives = new HashSet<>(); // 子档案
}

区域Area类:

/*** @description:地域信息实体类,主要包含 省市区(县)*/
@Entity
@Table(name = "T_AREA")
public class Area {@Id@Column(name = "C_ID")private String id;@Column(name = "C_PROVINCE")private String province; // 省@Column(name = "C_CITY")private String city; // 城市@Column(name = "C_DISTRICT")private String district; // 区域@Column(name = "C_POSTCODE")private String postcode; // 邮编@Column(name = "C_CITYCODE")private String citycode; // 城市编码@Column(name = "C_SHORTCODE")private String shortcode; // 简码@OneToMany(mappedBy = "area")private Set<SubArea> subareas = new HashSet<SubArea>();
}

快递员类Courier

/*** @description:快递员*/
@Entity
@Table(name = "T_COURIER")
public class Courier {@Id@GeneratedValue@Column(name = "C_ID")private Integer id; // 主键@Column(name = "C_COURIER_NUM", unique = true)private String courierNum; // 快递员工号@Column(name = "C_NAME")private String name; // 快递员姓名@Column(name = "C_TELEPHONE")private String telephone; // 快递员联系电话@Column(name = "C_PDA")private String pda; // PDA号@Column(name = "C_DELTAG")private Character deltag; // 作废标志 1 为标记作废@Column(name = "C_CHECK_PWD")private String checkPwd; // 查台密码@Column(name = "C_TYPE")private String type; // 取件员类型@Column(name = "C_COMPANY")private String company; // 单位@Column(name = "C_VEHICLE_TYPE")private String vehicleType; // 车辆类型@Column(name = "C_VEHICLE_NUM")private String vehicleNum; // 车牌号@ManyToOne@JoinColumn(name = "C_STANDARD_ID")private Standard standard;@ManyToOne@JoinColumn(name = "C_TAKETIME_ID")private TakeTime takeTime;@ManyToMany(mappedBy = "couriers")private Set<FixedArea> fixedAreas = new HashSet<FixedArea>();
}

定区FixedArea类:

/*** @description:定区*/
@Entity
@Table(name = "T_FIXED_AREA")
public class FixedArea {@Id@Column(name = "C_ID")private String id; // 主键@Column(name = "C_FIXED_AREA_NAME", unique = true)private String fixedAreaName; // 定区名称@Column(name = "C_FIXED_AREA_LEADER", unique = true)private String fixedAreaLeader;// 定区负责人@Column(name = "C_TELEPHONE")private String telephone;// 联系电话@Column(name = "C_COMPANY")private String company; // 所属单位@Column(name = "C_OPERATING_TIME")@Temporal(TemporalType.TIMESTAMP)private Date operatingTime;// 操作时间@Column(name = "C_OPERATOR")private String operator; // 操作员@Column(name = "C_OPERATING_COMPANY")private String operatingCompany; // 操作单位@OneToMany(mappedBy = "fixedArea")private Set<SubArea> subareas = new HashSet<SubArea>(0);@ManyToMany@JoinTable(name = "T_FIXEDAREA_COURIER", joinColumns = { @JoinColumn(name = "C_FIXED_AREA_ID", referencedColumnName = "C_ID") }, inverseJoinColumns = { @JoinColumn(name = "C_COURIER_ID", referencedColumnName = "C_ID") })private Set<Courier> couriers = new HashSet<Courier>(0);
}

收派标准Standard类

/*** @description:收派标准*/
@Entity
@Table(name = "T_STANDARD")
public class Standard {@Id@GeneratedValue@Column(name = "C_ID")private Integer id; // 主键@Column(name = "C_NAME")private String name; // 标准名称@Column(name = "C_MIN_WEIGHT")private Integer minWeight; // 最小重量@Column(name = "C_MAX_WEIGHT")private Integer maxWeight; // 最大重量@Column(name = "C_MIN_LENGTH")private Integer minLength; // 最小长度@Column(name = "C_MAX_LENGTH")private Integer maxLength; // 最大重量@Column(name = "C_OPERATING_TIME")@Temporal(TemporalType.TIMESTAMP)private Date operatingTime;// 操作时间@Column(name = "C_OPERATOR")private String operator; // 操作员@Column(name = "C_OPERATING_COMPANY")private String operatingCompany; // 操作单位
}

子档案SubArchive类:

/*** @description:子档案类,记录了档案分级后的子信息*/
@Entity
@Table(name = "T_SUB_ARCHIVE")
public class SubArchive {@Id@GeneratedValue@Column(name = "C_ID")private Integer id; // 主键@Column(name = "C_SUB_ARCHIVE_NAME")private String subArchiveName; // 子档名称@Column(name = "C_MNEMONIC_CODE")private String mnemonicCode; // 助记码@Column(name = "C_REMARK")private String remark; // 备注@Column(name = "C_MOTHBALLED")private Character mothballed; // 封存标志@Column(name = "C_OPERATING_TIME")@Temporal(TemporalType.TIMESTAMP)private Date operatingTime;// 操作时间@Column(name = "C_OPERATOR")private String operator; // 操作员@Column(name = "C_OPERATING_COMPANY")private String operatingCompany; // 操作单位@ManyToOne@JoinColumn(name = "C_ARCHIVE_ID")private Archive archive; // 关联基本档案信息
}

分区SubArea类

/*** @description:分区*/
@Entity
@Table(name = "T_SUB_AREA")
public class SubArea {@Id@Column(name = "C_ID")private String id;@Column(name = "C_START_NUM")private String startNum; // 起始号@Column(name = "C_ENDNUM")private String endNum; // 终止号@Column(name = "C_SINGLE")private Character single; // 单双号@Column(name = "C_KEY_WORDS")private String keyWords; // 关键字@Column(name = "C_ASSIST_KEY_WORDS")private String assistKeyWords; // 辅助关键字@ManyToOne@JoinColumn(name = "C_AREA_ID")private Area area; // 区域@ManyToOne@JoinColumn(name = "C_FIXEDAREA_ID")private FixedArea fixedArea; // 定区
}

收派时间TakeTime类

/*** @description:收派时间管理*/
@Entity
@Table(name = "T_TAKE_TIME")
public class TakeTime {@Id@GeneratedValue@Column(name = "C_ID")private Integer id; // 主键@Column(name = "C_NAME")private String name; // 收派时间名称@Column(name = "C_NORMAL_WORK_TIME")private String normalWorkTime; // 平常上班时间@Column(name = "C_NORMAL_DUTY_TIME")private String normalDutyTime; // 平常下班时间@Column(name = "C_SAT_WORK_TIME")private String satWorkTime; // 周六上班时间@Column(name = "C_SAT_DUTY_TIME")private String satDutyTime; // 周六下班时间@Column(name = "C_SUN_WORK_TIME")private String sunWorkTime; // 周日上班时间@Column(name = "C_SUN_DUTY_TIME")private String sunDutyTime; // 周日下班时间@Column(name = "C_STATUS")private String status; // 状态@Column(name = "C_COMPANY")private String company; // 所属公司@Column(name = "C_OPERATING_TIME")@Temporal(TemporalType.TIMESTAMP)private Date operatingTime;// 操作时间@Column(name = "C_OPERATOR")private String operator; // 操作员@Column(name = "C_OPERATING_COMPANY")private String operatingCompany; // 操作单位
}

车辆Vehicle类

/*** @description:车辆*/
@Entity
@Table(name = "T_VEHICLE")
public class Vehicle {@Id@GeneratedValue@Column(name = "C_ID")private Integer id;@Column(name = "C_ROUTE_TYPE")private String routeType; // 线路类型@Column(name = "C_ROUTE_NAME")private String routeName; // 线路名称@Column(name = "C_SNIPPER")private String shipper; // 承运商@Column(name = "C_DRIVER")private String driver; // 司机@Column(name = "C_VEHICLE_NUM")private String vehicleNum; // 车牌号@Column(name = "C_TELEPHONE")private String telephone; // 电话@Column(name = "C_VEHICLE_TYPE")private String vehicleType;// 车型@Column(name = "C_TON")private Integer ton; // 吨控@Column(name = "C_REMARK")private String remark;// 备注
}

配置spring整合jpa自动生成数据表相关推荐

  1. jPA自动创建数据库表的一些配置

    2019独角兽企业重金招聘Python工程师标准>>> jPA自动创建数据库表的一些配置 hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置节点如 ...

  2. 泛微html模板与表单分离,泛微eteams业务表单,自动生成数据和报表

    原标题:泛微eteams业务表单,自动生成数据和报表 eteams业务表单用数据重新定义协作,台帐记录.数据汇报.外部调研收集一并搞定.彻底告别传统纸笔数据收集方式,实时完成数据提交,自动生成数据和报 ...

  3. 利用Eclipse的JPA自动生成注解实体

    新公司用的SSH(springmvc)框架,看代码的时候,发现没有hbm.xml文件,全部使用的注解形式.在一次闲聊的时候问同事,这么多entity  写起来不麻烦么.同事说根据数据库自动生成的.于是 ...

  4. JPA 7. Spring 整合 JPA

    Spring 整合 JPA 三种整合方式 LocalEntityManagerFactoryBean:适用于那些仅使用 JPA 进行数据访问的项目,该 FactoryBean 将根据JPA Persi ...

  5. java实体类生成mysql表_springboot+mybatis通过实体类自动生成数据库表的方法

    前言 本章介绍使用mybatis结合mysql数据库自动根据实体类生成相关的数据库表. 首先引入相关的pom包我这里使用的是springboot2.1.8.RELEASE的版本 org.mybatis ...

  6. Hibernate中自动生成数据库表的两种方式

    第一种方式:Hibernate中利用工具类自动生成数据库表 1.建好POJO object, XML Mapping File,配置文件(hibernate.cfg.xml). 2.编写工具类 imp ...

  7. Spring整合JPA

    如果我的博客能够帮到大家能够点个赞,关注一下,以后还会更新更过JavaWeb的高级技术,大家的支持就是我继续更新的动力.谢谢. 今天,来写一遍Spring整合JPA的Demo,Spring框架呢 是我 ...

  8. 使用hibernate自动生成数据库表

    使用hibernate自动生成数据库表 使用hibernate自动生成数据库表在hibernate3.2以后有两种方式: 1,使用hbm.xml形式:2,使用注解的形式. 本文介绍第一种方式: IDE ...

  9. django自动生成问卷表的软件的设计与实现毕业设计源码291138

    摘 要 本论文主要论述了如何使用PHP语言开发一个自动生成问卷表的软件的设计与实现,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言中,作者将论述自 ...

最新文章

  1. JQueryEasyUI学习笔记(十四)tree
  2. OSChina 周六乱弹 —— 老用户与狗
  3. HarmonyOS之深入解析服务卡片的使用
  4. PowerDesigner(16.1)使用
  5. 说说基于网络的五种IO模型
  6. 一站式数据采集存储的利器:阿里云InfluxDB®️数据采集服务
  7. 构建小型Linux跟文件系统镜像(Ext2 或 Ext3)
  8. 完全二叉树的判断java,判断二叉树是否为完全二叉树的实例
  9. 华硕计算机u盘启动不了怎么办,华硕笔记本、台式机无法从U盘启动安装系统的终极解决办法-网络教程与技术 -亦是美网络...
  10. bootstrap EF_Bootstrap优秀模板INSPINIA.2.9.2
  11. max点缓存烘焙帧_3DMAX怎么进行点缓存?
  12. 风变编程python离线版_如何看待风变编程的Python网课
  13. 服务器托管费用怎么计算?
  14. k30s刷鸿蒙系统,RedmiK30S或于10月27日发布:今年最后一款骁龙865手机
  15. iOS安全–在非越狱平台进行越狱开发(附分析流程)
  16. 抽象语法树在 JavaScript 中的应用
  17. android简易学生信息,Android studio应用程序设计——简单的学生信息录入应用app
  18. c语言字符串单词反序输出,字符串中的每个单词倒序输出问题
  19. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-人机界面如何设置页面跳转
  20. 用AI脑补慢动作,30帧秒变120帧,轻松看清“松果糖豆五连鞭”动作细节

热门文章

  1. BERT源码分析(PART II)
  2. 事半功倍:推荐系统Pre-train预训练方法
  3. 资讯|WebRTC M89 更新
  4. Android短视频中如何实现720P磨皮美颜录制
  5. 为什么WEB-INF外的jsp无法根据cookie享受国际化
  6. postGIS相关数据库参数
  7. python-day1-login练习
  8. Redux系列01:从一个简单例子了解action、store、reducer
  9. 【01】Clean Code
  10. 创建一个ASP通用分页类(完整版)