Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate:阻止映射类创建表_Java_Hibernate - Fatal编程技术网

Java Hibernate:阻止映射类创建表

Java Hibernate:阻止映射类创建表,java,hibernate,Java,Hibernate,我有一个多maven模块项目,其中Module1包含hibernate映射类,其他模块Module2、Module3、Module4使用此Module1作为依赖项。 因此,所有模块模块2、模块3、模块4在数据库模式中创建相同数量的表 <hibernate-configuration> <session-factory> <mapping class="com.model.Table1"/> <mapping class="com.mode

我有一个多maven模块项目,其中Module1包含hibernate映射类,其他模块Module2、Module3、Module4使用此Module1作为依赖项。 因此,所有模块模块2、模块3、模块4在数据库模式中创建相同数量的表

<hibernate-configuration>
<session-factory>
    <mapping class="com.model.Table1"/>
    <mapping class="com.model.Table2"/>
    <mapping class="com.model.Table3"/>
    <!-- Hundreds of other tables -->
</session-factory>
</hibernate-configuration>
但现在的情况是,我希望Module3不要创建表2。
我是否可以在模块3中添加一些排除或配置,这些排除或配置可以忽略表2的创建,但可以创建其他所有表。

通常,Hibernate会为映射的类创建表,例如通过hbm.xml文件。如果不映射类,则不会创建相应的表。请确保正确设置hbm2ddl.auto属性,例如,如果要在启动时在Hibernate配置文件Hibernate.cfg.xml中删除并重新创建表架构,请创建

有可能帮助您实现所需,或者至少给您一些提示:

仔细看看Hibernate提供的javadocs中的配置类。 如果要通过代码动态添加映射或映射文件: 您可能还想仔细查看Hibernate参考: 我的想法是使用一个配置文件,应用程序在启动时读取该文件,并且根据使用的参数,只向Hibernate会话添加所需的映射文件