如何解决为与一个JPA实体类相关的所有表生成创建脚本
|| 我想为特定实体类生成“创建表脚本”。 我可以使用hibernate(hbm2dll工具)为我所有的类自动生成完整的脚本(从带有JPA注释的实体类自动生成数据模式),但是我不知道如何过滤,因此仅涉及与一个实体相关的部分类仍然存在。 问候, 劳雷斯解决方法
我猜想,如果您使用单个实体配置persistence.xml文件,排除所有其他未列出的实体,然后在启用DDL自动生成功能的情况下启动您的实体管理器工厂,您可能会得到满足。
<persistence xmlns=\"http://java.sun.com/xml/ns/persistence\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd\" version=\"2.0\">
<persistence-unit name=\"stackoverflow\" transaction-type=\"RESOURCE_LOCAL\">
<class>com.stackoverflow.model.SingleEntity</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name=\"hibernate.hbm2ddl.auto\" value=\"create\"/>
</properties>
</persistence-unit>
</persistence>
,您的实体之间是否没有声明关联? Hibernate将基于您的域模型知识生成外键和映射表等。
如果您只想为单个隔离表提供DDL,则可以仅使用该实体配置会话工厂,然后将其指向空数据库。然后,您可以从日志中记录DDL(由Hibernate生成,如上所述),然后在需要时删除该数据库。
但是,如果存在任何关联,则休眠将无法执行此操作。
,我自己用代码处理脚本生成。基本查询是通过调用hbm2ddl工具生成的,我的代码为它们添加了一些细节(例如,如果创建查询中不存在,则添加这些细节;添加某些创建索引查询; ...)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。