- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我知道,@SecondaryTable
问题已发布多次,因此,如果有相同的问题(我还没有找到),请给我链接或建议。
我的数据库中有两个表(firstTable
和 secondTable
),两个 POJO Hibernate 类(FirstTablePojo
和 SecondTablePojo
)。
+----------+ +-----------+
|firstTable| |secondTable|
|----------+ |-----------+
|featureId |------------>|featureId |(secondTable's primary key)
|foo | |featureName|
|bar | +-----------+
+----------+
我想在单个列表对象的 jsp 中显示这两个表的字段,我决定使用 @SecondaryTable
.这两个表由 featureId
连接字段(这是 secondTable
的主键),我想要 featureName
来自 secondTable
与来自 firstTable
的字段一起显示. FirstTablePojo
前面有这个注释:
@SecondaryTable(name="secondTable",
pkJoinColumns=@PrimaryKeyJoinColumn(name="featureId",
referencedColumnName = "featureId"))
我将此属性添加到 FirstTablePojo
(使用 getter 和 setter):
@ManyToOne
@JoinColumn(name="featureId", table="secondTable")
String featureName;
在 <c:forEach items="${features}" var="feature">
的帮助下,我得到每个 ${feature.foo}
( foo
是在我使用 FirstTablePojo
之前 @SecondaryTable
中的属性)和 ${feature.featureName}
,我看到每个 foo
, 但没有 featureNames
出现。如果有人能告诉我我在这里遗漏了什么以及为什么其他表中的功能名称没有出现在 FirstTablePojo
的列表中,那就太好了。对象。
最佳答案
@SecondaryTable
注释的要点是将单个实体的字段映射到多个表,就好像这些表合并为一个表一样。
@ManyToOne 用于映射两个实体之间的多对一关联。但你只有一个。在这种情况下,这没有任何意义。而@JoinColumn 用于表示一个字段被映射到一个列,该列构成一个...连接列,即另一个表的外键。所以这也没有意义。
只需使用以下映射:
@Column(name="featureName", table="secondTable")
String featureName;
这在 Hibernate documentation 中通过一个例子得到了很好的解释。 .
关于java - hibernate : @SecondaryTable doesn't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9605449/
我有两个在不同模式中具有相同名称的表,并且我正在尝试使用这些表和@SecondaryTable 创建一个实体。它给了我以下错误 InFlightMetadataCollector$DuplicateS
我想映射 one to many 中的两个实体时尚。 A->[B, B] 我想添加到 join table更多领域。 Pojos看起来像: @Entity @Table(name = "A", sch
我有两个表: 语言 CREATE TABLE language ( id BIGSERIAL, name TEXT NOT NULL UNIQUE, PRIMARY KEY (id)
我有一个实体。我想有选择地从辅助表加载有关实体的其他信息。我有以下映射。 @Entity @Table( name = "program", schema = "myschema" ) @Second
在我的场景中最好的解决方案是什么? 我有一个滞后数据库,想通过使用单个 hibernate 实体来访问数据。我希望 Java 部分尽可能简单。 我的数据库由三个表组成: 表 1(id,Att1,A
我知道,@SecondaryTable问题已发布多次,因此,如果有相同的问题(我还没有找到),请给我链接或建议。 我的数据库中有两个表(firstTable 和 secondTable),两个 POJ
我正在修改旧数据库,并且必须将一个表分成两个表。有很多代码引用我的实体类,因此我想使用 @SecondaryTable 来避免弄乱所有项目。 假设我有一个如下所示的 Employee 表: +----
我有一个 @ManyToMany 类型的关系与 @JoinTable协会。 问题是关系中的实体有自己的表,但有几个属性应该放在关联表中。 A_C我觉得 table 很好。 添加 @SecondaryT
我有一个非常简单的类层次结构,如下所示,每个子类都有一个 @DiscriminatorValue 枚举类型,效果很好。 抽象类: AbstractNode(映射到 Node 表的抽象类) 子类: Fi
我的模型中有一对多关系,其中子实体存储在两个表中。 @Entity @Table(name = "child1") @SecondaryTable(name = "child2", pkJoinCol
我正在使用带注释的 Hibernate 版本 3.3.2.GA。 我在两个类之间继承,前者: @Entity @Table(name = "SUPER_CLASS") @Inheritance(str
在我的数据库中,我有两个表,如下所示: CREATE TABLE IF NOT EXISTS `Lokal` ( `idLokal` int(11) NOT NULL AUTO_INCREMENT
我的架构的缩写版本: utility_company id int not null -- PK name varchar(255) not null utility_settings utility
为我的实习工作开发 JPA 2.0 合规性工具包。该套件的一部分用于覆盖角落案例。 @MappedSuperclass 没有原始表,因为它不是实体。JSR-317 声明了这个有趣的位: A class
我有两个表: part { int id; --> primary key, auto generated varchar poNo; varchar partNo;
Thera是oracle View vendor_view和表vendors(为简单起见,vendors表仅包含带有名称id的PK) create view vendor_view as se
我已经使用 SINGLE_TABLE with SecondaryTables 实现了继承层次结构. 这可以正常工作,但是当我的辅助表的字段为空(= Oracle 中的 null)时,对实体的下一次更
我有一个包含这些表的实体: @Entity @Table(name = "PM_ADJ_MULTI_YR_DETAILS") @SecondaryTables( { @SecondaryTable(n
我的代码如下所示: @Data @Accessors(chain = true, fluent = true) @Entity @Table(name = "T_FILE_META", indexes
我有一个 JPA 实体类,它使用 @SecondaryTable 关系来检索其一些字段。有一些针对该实体的查询只需要返回几个字段,所有字段都来自主表。 我希望使用 Spring Data JPA Pr
我是一名优秀的程序员,十分优秀!