java - 如何在基于注释的Hibernate中将主键设置为同一个表中的外键?

标签 java sql hibernate

在我的基于 Hibernate 注解的应用程序中...我正在创建这样的表..

    CREATE  TABLE IF NOT EXISTS `EC_USER` (
  `S_ID` VARCHAR(30) NOT NULL PRIMARY KEY,
`CREATED_DATE` DATETIME NULL ,
`MODIFIED_BY` VARCHAR(30) NULL ,
 CONSTRAINT `CREATED_BY`
    FOREIGN KEY (`CREATED_BY` )
    REFERENCES `EC_USER` (`S_ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `MODIFIED_BY`
    FOREIGN KEY (`MODIFIED_BY` )
    REFERENCES `EC_USER` (`S_ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)

那么如何编写我的 Hibernate Bean...

@Entity
@Table(name = "EC_USER")
public class UserVO{
@Id
@Column(name="S_ID")
private String id;
@Column(name = "CREATED_DATE")
private Date createdDate;
@Column(name = "LAST_MODIFIED_DATE")
private Date modifiedDate;
}

所以这是正确的一个或任何关系映射所需...

最佳答案

假设您可以编写 CREATED_BY 和 MODIFIED_BY 列

@Entity
@Table(name = "EC_USER")
public class UserVO{
@Id
@Column(name="S_ID")
private String id;
@Column(name = "CREATED_DATE")
private Date createdDate;
@Column(name = "LAST_MODIFIED_DATE")
private Date modifiedDate;

@ManyToOne
@JoinColumn(name="created_by")
private UserVO createdBy; 


@ManyToOne
@JoinColumn(name="modified_by")
private UserVO modifiedBy; 

}

关于java - 如何在基于注释的Hibernate中将主键设置为同一个表中的外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14000241/

相关文章:

java - 我的链接列表的 toString() 方法仅打印第一个元素

php - Codeigniter 未显示 MySQL 查询获取的数组的正确结果。

sql - 仅为更新的记录获取层次结构

sql - T-SQL//如何将北坐标/东坐标转换为纬度/经度?

Hibernate - 查询缓存/二级缓存不适用于包含子项的值对象

java - 提取的所有者不存在

hibernate - 如何克服Hibernate中union-subclass生成SQL导致的性能问题

java - 从对象创建值映射

java - SLF4J:避免完全限定的类名

java - 具有多个数据源但只有一组存储库的 Spring Data + JPA