假设我有一个简单的数据库表,我不能改变它的定义,但另一方面,我想利用面向对象编程来实现新的API。
下面是一个postgresql DB表表示的例子:
create table message_request (
id int primary key,
recipient varchar(100) not null,
message TEXT not null,
parameters TEXT[],
header_parameter varchar(100),
button_parameter varchar(100),
created_at timestamp not null
);
在Java应用程序中,我希望有一个包含以下代码的API:
MessageRequest.java
@Entity
public class MessageRequest {
private Integer id;
private LocalDateTime createdAt;
private String recipient;
private String message;
@Type(ListArrayType.class)
private List<String> parameters;
private Header header;
private Footer footer;
}
Header.java
public class Header {
private String parameter;
}
Footer.java
public class Footer {
private String buttonParameter;
}
将MessageRequest
字段Map到DB表没有问题,除了Header
和Footer
类,我想将它们Map到同一个表中的相应字段。
这怎么可能?
1条答案
按热度按时间cs7cruho1#
注解
@Embedded
工作起来就像一种魅力。MessageRequest.java
Header.java
Footer.java