java - Hibernate @Any 注解用法

标签 java hibernate annotations polymorphism any

我有一个名为 Change 的实体,我需要在其中记录数据库中的更改,例如插入、更新或删除行。

所以我的 Change 表包含一些数据,现在我想添加外键来记录另一个表中的更改,但我有不同的表。例如,我有 Weather 表、Group 表……所以我做了一些搜索,发现了一些关于 @Any 注释的信息。所以我向我的 Change 实体添加了一些列:

@Entity
@Table(name = "CHANGE")
public class Change {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "CHANGE_ID")
    private int changeId;
...
@Any(metaColumn = @Column(name = "RECORD_TABLE"))
@AnyMetaDef(idType = "int", metaType = "string",
metaValues = {
@MetaValue(targetEntity = Weather.class, value = "WEATHER"),
@MetaValue(targetEntity = Group.class, value = "GROUP"),
...
})
@JoinColumn(name="recordID")
private Object record;

@ManyToOne
@JoinColumn(name = "USER_ID")
private User user;

public Object getRecord() {
    return record;
}
public void setRecord(Object record) {
    this.record = record;
}
...

我的愚蠢问题是: 如何将数据插入数据库(如外部 ID 和类名)以及如何检索它们?

最佳答案

请通过这个Link

你应该关心你的实体关系(1-1 or 1-M or M-M)

关于java - Hibernate @Any 注解用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19165333/

相关文章:

java - 在 Java 中格式化日期

java - 在两个不同的端口上运行 Tomcat 服务器

java - JPA AttributeConverter 被忽略

java - 在字节好友中生成参数注解

java - 如何在我的应用程序中使用 Facebook JAVA API?

java - 从 docker 启动 HSQL 服务器时运行默认脚本

java - 无法回滚,连接已关闭

java - 使用 Spring 3 和 Hibernate 4 Autowiring Hibernate session

php - PoEdit 和 PHP 注释

java - Java 基类的 Hibernate 注解