我知道这是没有意义的,因为许多教程声明您可以使用SecondaryTable注释,但是它在Hibernate中不起作用。我有这样的模式:
@Entity
@Table(name="server")
@SecondaryTable(name="cluster", pkJoinColumns = { @PrimaryKeyJoinColumn(name = "uuid", referencedColumnName = "cluster_uuid") })
public class Server {
@Id
@Column(name = "uuid")
private String uuid;
@Column(name = "cluster_uuid")
private String clusterUuid;
@Column(name = "ip", table="cluster")
private String ip;
..... }
@Entity
@Table(name = "cluster")
public class Cluster {
@Id
@Column(name = "uuid")
private String uuid;
@Column(name = "ip")
private String ip;
.....
}
有人知道如何克服这个问题吗?谢谢你。
我不太明白你的设置。
@secondarytable
用于将单个实体存储在多个表中,但在您的示例中,不同实体之间存在多对一的关系(每个实体存储在自己的表中),应该将其映射为:
@Entity
@Table(name="server")
public class Server {
@ManyToOne
@JoinColumn(name = "cluster_uuid")
private Cluster cluster;
...
}
我有一个实体VCenterDistributedVirtualPortgroup,它扩展了VCenterNetwork,两个实体在实体VCenterFolder中处于OneToMany关系中。我得到以下错误:
问题内容: 在JPA 2.0规范 说,第22页: 类的实例变量必须是私有的,受保护的或程序包可见性,而与使用字段访问还是属性访问无关。使用属性访问时,属性访问器方法必须是公共的或受保护的。 为什么不允许公共访问? 问题答案: 对于公共字段,将没有办法使代理可靠地工作-如果有人直接访问字段,那么持久性框架就没有简单的方法来拦截该调用并(例如)初始化包含对象(如果它是代理) 。 如果无法进行字段访问,
问题内容: 我在PHP中运行一个脚本,该脚本uisng循环为MySQL创建了一个字符串查询。 执行脚本后,出现以下错误: “您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以在’UPDATE BANNERS SET pos = 1 WHERE BID = 5; UPDATE BANNERS SET pos = 2 WHERE BID = 1’附近使用正确的语法。在第2行 在错误
这可能是一个复制品。但是经过一天的研究,我希望你能宽大处理。这是一个关于协方差的问题。 为什么我能这么做? 但不能这样做吗? 我读了一些关于协方差的讨论。 “C#中的协方差” “将列表转换为接口列表” “转换列表到接口列表” 我的理解是,我不能将狗的名单添加到动物名单中,因为这样我就可以将猫添加到动物名单中,这将是危险的。但是在动物列表中添加一个猫或狗的例子也同样危险,不是吗?在我看来,C#还没有
我在 Openshift Online v3 入门计划上部署了一个应用程序,该应用程序(过去)运行良好,直到昨天。昨天我不得不发布我的应用程序的新版本。显然,该平台在重新部署它时遇到了一些问题,我不得不取消一些似乎锁定或不断重启的进程。最后,我设法让我的 pod 使用新版本运行,日志看起来很好。 现在的问题是我的应用程序不再暴露。当点击分配给我的URL时,我得到了臭名昭著的“不可用”OO页面: 我