@Entity
class MyEntity {
}
hibernate.hbm2ddl.auto=update
当CREATE unlogged TABLE
的表不存在时,hibernate是否可能生成CREATE TABLE
语句而不是MyEntity
?
答案 0 :(得分:1)
我认为您可以通过继承相关的Postgres方言并覆盖getCreateTableString()
方法来完成此操作。
public class CustomPostgresSQLDialect extends PostgresSQLxxDialect{
@Override
public String getCreateTableString() {
return "create unlogged table";
}
}
显然把它设为你的方言:
<property name="hibernate.dialect" value="org.foo.CustomPostgresSQLDialect "/>
答案 1 :(得分:1)
我认为@Entity
或@Table
中没有将这种选项传递给DBMS的参数。但是在hibernate的jira中找到了this feature request,它涵盖了你的用例,也许你想投票给它。
无论如何,您可以尝试在hibernate配置中添加auxiliary database object来运行ALTER TABLE MyEntity SET UNLOGGED
,这是我能想到进行DDL修改的最简单方法。
答案 2 :(得分:0)