Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在组合键和@ManyToOne JoinColumns之间共享列

在组合键和@ManyToOne JoinColumns之间共享列
EN

Stack Overflow用户
提问于 2013-07-04 21:02:26
回答 1查看 1.6K关注 0票数 1

我遇到了一个问题,我不知道是否可以通过使用hibernate/jpa注释来解决这个问题。问题是我有一个组合键,它与我的一个外键组合id具有相同的列,并且我希望在表中共享相同的列。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Entity
class Id {
  @Id
  @Column(name = "idPessoa")
  public Integer idShared;
}

@Embeddable
class APK {
  @ManyToOne
  @JoinColumn(name = "idShared")
  public Id idShared;
  public String nKey;
}

@Entity
class A {
  @EmbeddedId
  public APK id;
}

@Embeddable
class BPK {
  @ManyToOne
  @JoinColumn(name = "idShared")
  public Id idShared;
  public Integer nCode;
}

@Entity
class B {
  @EmbeddedId
  public BPK id;

  @ManyToOne
  @JoinColumns({ @JoinColumn(name = "idShared", nullable = false, insertable = false, updatable = false), @JoinColumn(name = "nKey", nullable = false) })
  public A a;
}

问题是我如何在A和B之间共享列idShared,并在@ManyToOne中使用它作为外键?

我已经尝试在@JoinColumn中使用@JoinColumn,名称为idShared,但是我得到一个错误,说我需要使用insert = false和update = false,我已经放入insertable = false和updateable = false,但是我得到另一个错误,说我不能混合。

我找到了一个可能的解决方案,说使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@ManyToOne
@JoinColumnsOrFormulas(value = {
@JoinColumnOrFormula(formula = @JoinFormula(value = "idShared", referencedColumnName = "idShared")),
@JoinColumnOrFormula(column = @JoinColumn(name = "nKey", nullable = false)) })
public A a;

但它给了我一个错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Unable to find column with logical name  in table A

它必须查找的列的"name“属性似乎以某种方式为空。

请帮帮忙!

EN

回答 1

Stack Overflow用户

发布于 2013-07-05 05:13:31

请看一下Official Java EE 6 Tutorial about composite primary key。您可以使用@EmbeddedId @Embeddable和/或@IdClass注释。

例如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// File: APK.java ---------------------
@Embeddable
public class APK implements Serializable {
  public Integer idShared;
  public String nKey;
}

// File: A.java ---------------------    
@Entity
public class A {
  @EmbeddedId public APK id;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17478064

复制
相关文章
JPA 注解学习
最近学习hibernate注解形式配置POJO类,将注解的解析记下来,以备以后使用。
一个会写诗的程序员
2018/08/17
2.9K0
在 request 之间共享 SecurityContext
既然 SecurityContext 是存放在 ThreadLocal 中的,而且在每次权限鉴定的时候都是从 ThreadLocal 中获取 SecurityContext 中对应的 Authentication 所拥有的权限,并且不同的 request 是不同的线程,为什么每次都可以从 ThreadLocal 中获取到当前用户对应的 SecurityContext 呢?
johnhuster的分享
2022/03/28
6900
在OpenOffice.org和微软Office之间共享文档
原文:Sharing files between OpenOffice.org and Microsoft Office。翻译可能也比较随意。 本文版权请向原文网站及原作者咨询。仅在已经获取原文使用权的情况下,以下文字可自由使用。本翻译未获原网站或原作者授权。 要用OpenOffice.org,不可避免的问题之一就是如何同MS Office共享文档。有些人可不想这么做,他们会建设使用HTML/PDF/RTF来共享,但这仍然不是长久之计,特别是你的老板用MS Office的时候。其实这件事不难,只要搞明白什么
张善友
2018/01/29
2.7K0
使用rdesktop来在Windows和Linux之间共享数据
rdesktop是一个开源的远程桌面客户端,用来从Linux机器连接到Windows机器。它遵循RDP协议(Remote Desktop Protocol),并且操作简洁,功能比较完备。
王云峰
2019/12/25
4.6K0
【译】在 ASP.NET 和 ASP.NET Core 之间共享代码
随着 .NET 6 的发布,使用 ASP.NET Core 可以获得更多好处。但是将现有代码迁移到 ASP.NET Core 通常听起来像是一项巨大的投资。今天我们将分享如何加速向 ASP.NET Core 的迁移。您今天可以进行一些细微的更改,以便明天更轻松地迁移到 ASP.NET Core。
郑子铭
2022/03/22
4.5K0
在 Node.js 和 C++ 之间使用 Buffer 共享数据
使用 Node.js 开发的一个好处是简直能够在 JavaScript 和 原生 C++ 代码之间无缝切换 - 这要得益于 V8 的扩展 API。从 JavaScript 进入 C++ 的能力有时由处理速度驱动,但更多的情况是我们已经有 C++ 代码,而我们想要直接用 JavaScript 调用。
conanma
2022/01/05
3.7K0
【译】在 ASP.NET 和 ASP.NET Core 之间共享代码
随着 .NET 6 的发布,使用 ASP.NET Core 可以获得更多好处。但是将现有代码迁移到 ASP.NET Core 通常听起来像是一项巨大的投资。今天我们将分享如何加速向 ASP.NET Core 的迁移。您今天可以进行一些细微的更改,以便明天更轻松地迁移到 ASP.NET Core。
郑子铭
2022/03/04
4.9K0
【译】在 ASP.NET 和 ASP.NET Core 之间共享代码
共享主机和 WordPress 主机之间的区别
共享主机:顾名思义,共享主机基本上是一种网络托管,服务提供商提供来自多个网站的网页,并允许这些网站共享连接到互联网的物理服务器。它将网站内容存储在服务器上,并在需要时提供给访问者。
海拥
2022/12/11
5.8K0
如何在 Spring Boot 中 读写数据
写在前面:2020年面试必备的Java后端进阶面试题总结了一份复习指南在Github上,内容详细,图文并茂,有需要学习的朋友可以Star一下! GitHub地址:https://github.com/abel-max/Java-Study-Note/tree/master
用户5546570
2020/09/28
15.9K0
如何在 Spring Boot 中 读写数据
Lync联盟之间不能共享桌面和程序
     三、公网DNS SRV记录  _sipfederationtls._tcp.domain.cn
杨强生
2019/03/05
5490
cmake:在各级子项目(目录)之间共享变量
项目目录结构如下图,facedetect和facefeature都要用到opencl中的include文件,1.2,2.0,2.1是不同的opencl版本的头文件,希望在cmake创建Makefile时,opencl文件夹下的CMakeLists.txt能定义类似INCLUDE_OPENCL_1_2,INCLUDE_OPENCL_2_0,INCLUDE_OPENCL_2_1,这样的变量,以保存不同版本的opencl 头文件位置,最后关键是能让项目中其他子目录的CMakeList.txt能使用这些变量。
10km
2022/05/07
1.9K0
Hibernate框架学习之注解配置关系映射
     上篇文章我们通过注解对映射了单个实体类,但是具体项目中往往实体类之间又是相互关联的,本篇文章就是从实体类之间存在的不同关联角度,具体学习下如何映射他们之间的关联,主要涉及内容如下: 单向的一
Single
2018/01/04
2.3K0
Hibernate框架学习之注解配置关系映射
列存储、行存储之间的关系和比较
Sybase在2004年左右就推出了列存储的Sybase IQ数据库系统,主要用于在线分析、数据挖掘等查询密集型应用。列存储,缩写为DSM,相对于NSM(N-ary storage model),其主要区别在于:
全栈程序员站长
2022/09/15
6.7K0
列存储、行存储之间的关系和比较
如何在微服务之间共享和同步代码
微服务架构非常适合构建可扩展的代码库,具有更少的耦合,更好的关注点分离,更高的弹性,结合不同的技术,最重要的是,更好的模块化和构建它的组件的可重用性。
February
2018/11/23
2.7K0
解决:DuplicateMappingException: Table [xx] contains physical column name referred to by multiple ... .
原本对于表和本类的每个字段都有给注解 @Colum 来对应,其实不用给也可以。把这些注解注释掉工程就可以正常启动了。
微风-- 轻许--
2022/04/13
1.5K0
解决:DuplicateMappingException: Table [xx] contains physical column name referred to by multiple ... .
如何在WordPress网站之间共享用户和登录
wordpress为网站系统提供了相同的数据表结构,为快速实现多个WordPress网站之间共享用户数据提供了可能。wordpress如何实现如网易通行证等大站一样的共享用户登录呢?只需要将需要共享的数据库共用即可,我们这里只需要共享_user与_usermeta表,下面是完整实现过程。
许都博客
2021/06/15
1.9K0
几种在多台云服务器之间共享数据的方法
在我们日常的运维工作中,经常会涉及到需要在多台云服务器之间共享数据的情况。如果都在同一个局域网,那么使用 SMB/CIFS、NFS 等文件级共享协议就可以。但要是服务器都在云上,位于不同的可用区,或是分布在不同的云平台上,这种情况下共享数据就会存在一定的难度。
谈笑有Herald
2021/07/29
7.5K0
几种在多台云服务器之间共享数据的方法
面试官:sessionStorage可以在多个Tab之间共享数据吗?
英文 | https://fatfish.medium.com/interviewer-can-sessionstorage-share-data-between-multiple-tabs-c30983c61501
五月君
2023/09/06
4400
面试官:sessionStorage可以在多个Tab之间共享数据吗?
Vue组件之间的数据共享
组件之间的数据共享 在项目开发中,组件之间的最常见的关系分为如下两种: 父子关系 兄弟关系 父子组件之间的数据共享 父子组件之间的数据共享又分为: 父 -> 子共享数据 子 -> 父共享数据 1. 父组件向子组件共享数据 父组件向子组件共享数据需要使用自定义属性。示例代码如下: 2. 子组件向父组件共享数据 子组件向父组件共享数据使用自定义事件。示例代码如下: 3. 兄弟组件之间的数据共享 在 vue2.x 中,兄弟组件之间数据共享的方案是 EventBus。 EventBus 的使用步骤 创建
777nx
2023/05/02
7850
Vue组件之间的数据共享
在gridview和datagrid里设置列宽
无论是gridview还是datagrid,在绑定数据后,列宽都不是固定的,在设计时是没法设定的,只能通过绑定是触发的事件来重新设定。参考http://msdn2.microsoft.com/zh-cn/library/ms178296(VS.80).aspx 的解释. gridview的代码: protected int widestData; protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
Jianbo
2018/01/15
1.2K0

相似问题

JPA: UniqueConstraint on OneToOne & ManyToOne JoinColumns

10

原则2 ManyToOne multipy JoinColumns

10

原理2带有多个joinColumns的ManyToOne

21

Hibernate JPA ManyToOne组合键

21

nestJS ManyToOne无法读取未定义的属性(读取'joinColumns')

144
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文