配置spring整合jpa自动生成数据表
生活随笔
收集整理的這篇文章主要介紹了
配置spring整合jpa自动生成数据表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
配置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自动生成数据表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【报表技术】IReport图形化报表开发
- 下一篇: easyui带表单的弹窗效果制作