- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
hibernate自动建表
我们知道,hibernate的tool工具中有个包hbm2ddl可以通过hibernate的映射文对数据库进行ddl操作,而在配置文件中加入property name=hbm2ddl.autoupdate/property,就可以根据映射文件进行ddl操作了。
那我们要在运行创建表,或修改表的字段,那我们可以先通过 DOM修改配置文件来间接修改数据库
那要创建数据库表的话,只要创建了新的映射文件,并通过映射文件进行插入操作,就可以创建表了
那我们要修改数据库表的字段怎么办呢?
hibernate3.0中给我们提供了动态组件的功能,这种映射的优点是通过修改映射文件,就可以在部署时检测真实的属性的能力,所以就可以通过DOM在运行时操作映射文件,这样就修改了属性,当查入一条新的数据了,就可以删除或添加新的字段了
下面贴出我写的一些代码
hibernate的配置文件:
session-factory
property name=fileOracle/property
property name=connection.url
jdbc:oracle:thin:@2:1521:orclp
/property
property name=connection.usernametransys/property
property name=connection.passwordtransys/property
property name=connection.driver_class
oracle.jdbc.driver.OracleDriver
/property
property name=format_sqltrue/property
property name=dialect
org.hibernate.dialect.Oracle9Dialect
/property
property name=current_session_context_classthread/property
property name=show_sqltrue/property
property name=hbm2ddl.autoupdate/property
/session-factory
/hibernate-configuration
映射文件:
class abstract=false name=com.tough__hall.model.EduHallData entity-name=EDU_HALL_DATA_01 table=EDU_HALL_DATA_01 schema=TRANSYS
id name=eduHallDataId type=java.lang.String
column name=EDU_HALL_DATA_ID length=20 /
generator class=sequence
param name=sequence
EDU_HALL_DATA_01_SEQ
/param
/generator
/id
property name=sysDeptId type=java.lang.String
column name=SYS_DEPT_ID length=20 not-null=true /
/property
property name=sysUserInfoId type=java.lang.String
column name=SYS_USER_INFO_ID length=20 not-null=true /
/property
dynamic-component insert=true name=dataProperties optimistic-lock=true unique=false update=true
/dynamic-component
/class
修改hibernate中实体属性的类:
public class HibernateEntityManager {
private Component entityProperties;
文档评论(0)