我有一个多maven模块项目,其中Module1包含hibernate映射类,其他模块(Module2,Module3,Module4)使用此Module1作为依赖项。 因此,所有模块(Module2,Module3,Module4)在数据库模式中创建相同数量的表。
<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不要创建Table2。 是否有可能在Module3中添加一些排除或某些配置,这些配置可以忽略Table2的创建,但会创建所有其他配置。
答案 0 :(得分:0)
通常,Hibernate为映射的类创建表(例如,通过hbm.xml文件)。如果未映射类,则不会创建相应的表。请确保在Hibernate配置文件(hibernate.cfg.xml)中正确设置hbm2ddl.auto属性(例如,如果要在启动时删除并重新创建表模式,则为“create”)。
有可能帮助您实现您的需求或至少给您一些提示:
我的想法是使用应用程序在启动时读取的配置文件,并根据所使用的参数,仅将所需的映射文件添加到Hibernate会话。