我遇到了一个问题,我不知道是否可以通过使用Hibernate/JPA注释来解决这个问题。问题是,我有一个复合键,它的列与我的foreignkey复合id中的一个相同,我希望在表中共享这个相同的列。例如:
@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中使用它作为外键?
我已经尝试在名为idShared的@JoinColumns中使用@JoinColumns,但我得到一个错误,说我需要使用insert=false和update=false;我已经放入insertable=false和UPDATABLE=false,但随后我得到另一个错误,说我不能混合使用。
我找到了一个可能的解决方案,即使用:
@ManyToOne
@JoinColumnsOrFormulas(value = {
@JoinColumnOrFormula(formula = @JoinFormula(value = "idShared", referencedColumnName = "idShared")),
@JoinColumnOrFormula(column = @JoinColumn(name = "nKey", nullable = false)) })
public A a;
Unable to find column with logical name in table A
请帮忙!
请看关于复合主键的官方Java EE6教程。可以使用@embeddedId
@embeddable
和/或@idclass
注释。
例如
// 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;
}
有人知道解决这个问题的办法吗?或者这是不可能使用Hibernate/JPA进行映射的吗? Edit:Article和Location的(简化)定义(真的没那么有趣,重要的是它们使用了复合主键):
问题内容: 是否有使用节点,表达和redis / predis共享PHPSESSID的最新指南(或示例代码)? 我发现有1-2年的一些教程,它们都使用旧版本的Express或不使用Express。 Express cookie解析器也已弃用。 https://simplapi.wordpress.com/2012/04/13/php-and-node-js-session-share- redi/
我正在做一个phonegap应用程序,我不能在index.html和inappbrowser窗口之间共享数据。我尝试了这段代码,但它对我不起作用。 我还尝试使用localStorage,但只将inappbrowser的数据共享到index.js,而不是将index.js的数据共享到inappbrowser。
我有两个问题。我理解,如果我在cookie中指定域为(带前导点),那么所有子域都可以共享一个cookie。 是否可以访问在中创建的cookie(没有子域)? 如果在中创建,(没有子域)是否可以访问cookie?
问题内容: 有没有办法在Netbeans和Eclipse之间共享相同的* .java文件? 问题答案: 您可以将eclipse项目导入netbeans, 或者,您可以从现有资源创建Eclipse项目。
Windows版本和内部版本2004(操作系统内部版本19037.1) windows上安装的docker 运行诸如,,,等命令都可以正常工作。现在我想推一个图像,所以当然我必须先登录。 我在WSL终端中运行