当前位置: 首页 > 知识库问答 >
问题:

排除Hibernate创建的特定表?

金坚
2023-03-14

我有一个映射到视图的实体,下面是它的外观

import org.hibernate.annotations.Immutable;
import html" target="_blank">javax.persistence.*;

@Table(name = "user_earning")
@Entity
@Immutable
public class UserFlightEarning {
    @Id public Long userId;
    public Long flightId;
    @Column(name = "flight_seq") public Long flightSequence;
}

这工作得很好,我可以使用道从视图中检索记录。然而,我在日志中注意到Hibernate实际上正在尝试创建表,但失败了,因为它已经存在。

2015-11-12 21:56:34.841错误4204---[ost-startStop-1]组织。冬眠工具hbm2ddl。SchemaExport:HHH000389:不成功:创建表user\u profile(user\u id bigint not null,avg\u airtime integer,avg\u fuel\u points integer,avg\u miles integer,email varchar(255),first\u name varchar(255),flights\u count integer,furthest\u flight integer,last\u name varchar(255),longest\u fligh integer,most\u visted\u city varchar(255),tier\u end integer,tier\u start integer,主键(user\u id))2015-11-12 21:56:34.841错误4204---[ost-startStop-1]org。冬眠工具hbm2ddl。SchemaExport:表“user\u profile”已存在

我可以配置hibernate以跳过创建此类实体吗?我认为不可变的注释告诉Hibernate跳过创建,但这个注释似乎只是为了防止表上的crud操作。

共有1个答案

邢承弼
2023-03-14

子选择注释是Hibernate中唯一阻止为实体创建相应表的注释:

@Entity
@Subselect("select * from user_earning")
public class UserFlightEarning {

    @Id 
    public Long userId;

    public Long flightId;

    @Column(name = "flight_seq") 
    public Long flightSequence;
}
 类似资料:
  • 问题内容: 我正在使用Elasticsearch的索引别名在更完整的索引上创建受限视图,以支持旧版搜索应用程序。这很好。但我也想从返回的结果中排除某些敏感字段(它们包含电子邮件地址,因此我们希望不进行收集。) 这是我所拥有的: 这适用于查询(我看不到field_with_email),过滤条件也适用(我得到了受限的索引),但是我仍然在索引别名的查询结果中看到field_with_email。 这应

  • 我想使用Maven创建一个jar,它包含一个特定的依赖工件,并排除一些源java文件。 当前我使用以下代码段: 因此,jar中确实包含了“Guava”工件文件,但是我也希望排除一些源文件(例如src/main/java/my.package/下的特定文件),我该如何做呢?

  • 问题内容: 我有一个实体课 } 在某些情况下,我不想加载对象A,因为我已经有了该对象。对于C也是如此。但是这些是特定的场景,我根本不想加载那些对象。 有什么方法可以告诉Hibernate不要加载实体对象的某些属性。{没有渴望/获取建议。我只希望仅在特定情况下才发生这种情况] 注意:我现在使用Criteria来获取对象。 问题答案: 由于用于查询,因此可以在运行时根据条件使用“ fetch”关键字指

  • 由于Flutter web还不支持lib,并且有大量的包依赖于。

  • 问题内容: 我有这段代码,我想知道如何排除除特定路径中的一个以外的所有json 问题答案: 根据Webpack文档,您可以执行以下操作。

  • 使用指南 - 统计设置 - 统计规则设置 - 排除特定IP的访问流量 如果您不希望统计来自某个特定IP地址下的流量,可以在“管理”->“统计规则设置”->“排除规则设置”中设置要排除的IP地址,使得报告数据中不包含该IP地址下的流量,如公司内网IP。 您可以批量排除IP,如:202.120.45.8-202.120.45.79