Java 通过hibernate创建视图
在使用hibernate.hbm2ddl.auto属性创建表时,是否有任何方法可以创建视图。我使用注释类型定义表及其字段。是否有任何属性可用于通过hibernate创建视图?hibernate不会自动为您创建视图。但是,以下解决方案之一可能对您有用:Java 通过hibernate创建视图,java,spring,hibernate,view,annotations,Java,Spring,Hibernate,View,Annotations,在使用hibernate.hbm2ddl.auto属性创建表时,是否有任何方法可以创建视图。我使用注释类型定义表及其字段。是否有任何属性可用于通过hibernate创建视图?hibernate不会自动为您创建视图。但是,以下解决方案之一可能对您有用: 在数据库中创建视图,并使用hibernate使用这些列定义模型。如果Hibernate找到此视图,则不会为该模型创建表。剩下的就像使用一张真正的桌子 Hibernate使您能够自己在XML映射文件中创建(和删除)其他数据库对象。像这样的 <d
<database-object>
<create>create or replace view yourView</create>
<drop>drop view yourView</drop>
<dialect-scope name='org.hibernate.dialect.Oracle9Dialect' />
</database-object>
创建或替换视图yourView
放下你的观点
在我看来,第一种解决方案更容易处理,因为我目前正在使用此方法处理我的视图。另一个选项是通过配置属性将视图创建sql放入hbm2ddl运行的脚本中
hibernate.hbm2ddl.import_files
假设您有一个表示该视图的实体,您必须在创建视图之前创建一个drop table,因为hbm2ddl将在未找到该名称的现有视图时创建一个表。感谢您的回复。因此,我们应该在通过hibernate创建所有表之后手动创建视图。一旦表创建成功,我们就必须运行视图创建查询。我说得对吗?是的,如果
hibernate
为您的视图创建了一个表,请不要忘记删除它。强烈建议为此类视图创建脚本。感谢您的回复。尝试通过hibernate创建视图。但是我做不到,所以你的想法是最好的。