Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JPA,映射实体Person,其中包含类型为Name的类_Jpa_Orm_Entity - Fatal编程技术网

JPA,映射实体Person,其中包含类型为Name的类

JPA,映射实体Person,其中包含类型为Name的类,jpa,orm,entity,Jpa,Orm,Entity,我有一个由name属性组成的实体Person @Entity public class Person { // ... //@Transient private Name name; // ... } 我不想在额外的表中存储名称。。。我将名称标记为瞬态,这样它就不会存储在基础数据库中 我想要的是将属性名映射到数据库中的first_name和last_name列 例如,我可以创建一个像新员工John Doe这样的人 如何实现基础表包含两个附加列

我有一个由name属性组成的实体Person

@Entity
public class Person {
      // ...
      //@Transient 
       private Name name;
      // ...
}
我不想在额外的表中存储名称。。。我将名称标记为瞬态,这样它就不会存储在基础数据库中

我想要的是将属性名映射到数据库中的first_name和last_name列

例如,我可以创建一个像新员工John Doe这样的人

如何实现基础表包含两个附加列first_name和last_name,并且内容是从name属性获取的字符串的映射

基于person实体的表应该如下所示

id |名|姓 1 |约翰|多伊
2 | Jane | Doe

您可以使用嵌入式:

@Embeddable
public class Name {

    private String firstName;
    private String lastName;

    // getters and setters
}
然后像这样使用它

@Entity
public class Person {
      // ...
      private Name name;
      // ...
}
阅读Hibernate文档中有关嵌入式的更多信息: