persistent.xml hibernate 利用sql script 自定义生成 table 表

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
    version="2.1">
    <persistence-unit name="primary">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>

        <properties>
            <!-- <property name="javax.persistence.schema-generation.database.action"
                value="drop-and-create"/> -->
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />

            <property name="javax.persistence.schema-generation.database.action"
                value="drop-and-create" />

            <property name="javax.persistence.schema-generation.create-source"
                value="script" />
            <property name="javax.persistence.schema-generation.create-script-source"
                value="file:///e:/create.sql" />
            <property name="javax.persistence.schema-generation.drop-source"
                value="script" />
            <property name="javax.persistence.schema-generation.drop-script-source"
                value="file:///e:/drop.sql" />

            <!-- <property name="javax.persistence.sql-load-script-source" value="META-INF/data.sql"/> -->

            <!--
            <property name="javax.persistence.schema-generation.scripts.action"
                value="drop-and-create"/>
            <property name="javax.persistence.schema-generation.scripts.create-target"
                value="./create.sql"/>
            <property name="javax.persistence.schema-generation.scripts.drop-target"
                value="./drop.sql"/> -->

        </properties>
    </persistence-unit>
</persistence>

注意:

sql语句创建的表要和实体bean对应。否则会出错。

create table Seat (id bigint not null auto_increment, booked bit not null, seat_id bigint, zhibin varchar(25),  primary key (id))
create table seat_type (id bigint not null auto_increment, description varchar(25) not null, position varchar(255), price integer not null, quantity integer not null, primary key (id))
alter table Seat add constraint FK9pohag9bkh1suwck1bxtr7cys foreign key (seat_id) references seat_type (id)

sql文件可以放在meta-inf里面:

<property name="javax.persistence.sql-load-script-source" value="META-INF/data.sql"/>

真实路径要在:src/main/resources/META-INF/create.sql

./drop.sql是widlfly从哪里运行的当前目录。
时间: 2024-10-25 11:11:18

persistent.xml hibernate 利用sql script 自定义生成 table 表的相关文章

利用&quot;SQL&quot;语句自动生成序号的两种方式

1.首先,我们来介绍第一种方式: ◆查询的SQL语句如下: select row_number() over (order by name) as rowid, sysobjects.[name] from sysobjects ◆运行的结果: rowid   name 1           all_columns 2           all_objects 3           all_parameters 4           all_sql_modules 5          

Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句

最近在使用Hibernate4中,发现两个很有奥秘的注解 @DynamicInsert 和 @DynamicUpdate 如果是在配置文件的话那就是dynamic -insert 和 dynamic-update 这两个注解在一定程度上可以增加与数据库操作相关的速度,可以节省SQL语句的执行时间,提高程序的运行效率. 使用这两个注解只需要在实体类上加入即可,或者在*.hbm.xml配置.这两个注解是boolean值,true或者false. 1.首先使用false来看一下执行的结果,我们就拿更新

如何通过sql语句快速生成 删除表的sql

select 'drop table '+name tablename from sysobjects where xtype='U' and name like 'ta_bsk%' 备注: 从系统表(sysobjects)中查询类型是用户表(xtype='U')表名以ta_bsk开头的表名(name like '%ta_bsk%'),拼接上'drop table'就生成了我想要的sql语句了.哈哈

PL/SQL Developer实现双击table表名查询

双击table默认为Expand/Collapse 展开/折叠 有时需快速查看该表数据,如果写select * from tab会显得麻烦, 我们可实现双击table来进行快速查询 方法为:Tools -> Preferences -> User Interface -> Browser -> Object type(Table) -> Double-click action(Query Data) 转载请注明出处:http://blog.csdn.net/itmyhome1

【Hibernate】hibernate原生sql利用transformers返回多表自定义类型对象

大致结构: Person(人): id,name,age,bookId Book(书):id,bookName Author(作者):id,authorName,bookId 一个人 只有 一本书,一本书 有多个 作者,一个作者 只出 一本书:(可能举例不好,明白就行) Person ----> Book : OneToOne Book ----> Author: OneToMany 期望达到的效果: sql: select p.id id,p.name,b.bookName bookName

hibernate中.hbm.xml和注解方式自动生成数据表的简单实例(由新手小白编写,仅适用新手小白)

绝逼新手小白,so 请大神指点! 如果真的错的太多,错的太离谱,错的误导了其他小伙伴,还望大神请勿喷,大神请担待,大神请高抬贵嘴......谢谢. 好了,正题 刚接触ssh,今天在搞使用.hbm.xml文件 和 注解方式 来自动生成数据表 其中只是整了spring.hibernate,struts部分没有整.也就是说我只是测试了能够自动生成数据表(自动生成为"标准",自认为是对的......) 下面是配置和代码: 使用工具:myeclipse 2014 ,其中web project项目

使用hibernate建立mysql连接以及生成映射类和配置文件*.cfg.xml

建立数据库连接 找到window—open perspective—myeclipse database explore空白出右键new注意 driver template 和driver classname 一定要选择如图所示的 这样就建立了与数据库的连接 然后右键表名 选择hibernate Reverse Engineering 进行反向生成 src foleder 及package 要根据项目进行设置 第一项create POJO是生成*.cfg.xml 第二项Java data obj

关于hibernate纯sql查询返回结果集的问题(hbm.xml中不写多表关联)

相信用过hibernate的兄弟们都会因为多表复杂查询后,为返回的结果如何组装到一个VO中而烦恼不已.我也不停的为此而烦恼,但是在看了hibernate的transform后,感觉这个方法还挺管用的.      例如现在有两张表,一张是user表,放了一些用户的信息,另外一张表是用户发表的帖子,里边有一个user的外键.我们需要查询出来,某个人发布的帖子,sql如下: Java代码  select u.userName,p.title,p.addTime from user as u,post

【框架】[Hibernate]利用Hibernate进行单表的增删改查-Web实例

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 前面两篇博客已经将Hibernate的基础知识讲解得差不多了,差不多到写实例的时候了. 本篇只用hibernate进行单表的增删改查. 应用Hibernate,对students表进行增删改查. service层和DAO层,我都是直接写实现类了(因为这里主要是演示一下Hibernate的使用),如果是开发项目,注意一定要写接口! 准备数据库: 首先准备一个students表: cr