java - JPA/hibernate : Annotations for already created table

标签 java hibernate jpa

我有两个表(已创建),即具有以下架构的“人员”和“地址”:

create table Person (
    `id` int(11) not null auto_increment,
    `name` varchar(255) default null,
    primary key(`id`)
)

create table Address (
    `id` int(11) not null,
    `city` varchar(255) default null,
    primary key (`id`),
    constraint foreign key (`id`) references `Person`(`id`)
)

现在,我应该在代码中使用哪些注释?

这两个类的骨架是:

class Person {
    @Id @GeneratedValue
    @Column(name="id")
    int id;
    String name;

    Address address;
}

class Address {
    int id;
}

我需要为 Person 类中的 address 字段和 Address 类中的 id 字段添加注释。

最佳答案

在 Person.java

@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "id",nullable=false)
@ForeignKey(name = "fk_id")     
private Address address;   

和地址.java -

@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "id", updatable = false, insertable = false, nullable=false)  
private Person id;    

@Column(name = "id", insertable = false, updatable = false, nullable=false)
private Integer id;

关于java - JPA/hibernate : Annotations for already created table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12277501/

相关文章:

java 3d人脸识别程序

Java为JTextArea添加打字机效果

hibernate - 按修订日期查询 Hibernate Envers 修订

java - JPA 具有动态 WHERE 语句并处理 MVC 中的 JPA 连接

java - 创建具有唯一字符串和顺序对应数字的复合主键

java - USE JpaWhere 带有列表 := Key

java - 使用 Java Persistence API (JPA) 我需要注意哪些安全问题

java - 查找带注释的注释

java - 获取传递给 hadoop 映射器的行的最后一个字

java - Hibernate 只返回一个结果(更改表名后)