gpt4 book ai didi

java - 是否可以在 Hibernate 中在 Postgres 中的表和 View 之间创建自定义的一对一关系?

转载 作者:行者123 更新时间:2023-12-01 11:00:19 25 4
gpt4 key购买 nike

我在数据库(Postgres)中有一个表和一个 View 。他们之间的业务关系是一对一的。但是,我无法修改数据库来创建任何约束。

表格类似于:

CREATE TABLE invoice
(
invoiceid text NOT NULL,
date_created timestamp without time zone NOT NULL DEFAULT now(),
CONSTRAINT invoice_pkey PRIMARY KEY (invoiceid)
)
WITH (
OIDS=FALSE
);

View 类似于:

    CREATE OR REPLACE VIEW invoice_view AS 
SELECT invoice.invoiceid, invoice.date_created,
.......
FROM invoice;

我可以在 Hibernate 中创建自定义的一对一关系,以便我可以使用诸如 myInvoice.getInvoiceView(); 之类的东西吗?如果可以的话,该怎么做呢?

我正在使用 XML 配置。如果有人可以使用注释为我提供答案,那就太好了。

提前致谢。

最佳答案

是的,Hibernate 不关心实体是否映射到表或 View :

@Entity
@Table(name = "invoice")
public class Invoice {
@Id
@Column(name = "invoiceid")
private String id;

@OneToOne
@PrimaryKeyJoinColumn
private InvoiceView invoiceView;
}

@Entity
@Table(name = "invoice_view")
public class InvoiceView {
@Id
@Column(name = "invoiceid")
private String id;
}

关于java - 是否可以在 Hibernate 中在 Postgres 中的表和 View 之间创建自定义的一对一关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33392653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com