gpt4 book ai didi

Hibernate/JPA 的 Java 配置?

转载 作者:太空宇宙 更新时间:2023-11-04 12:51:32 25 4
gpt4 key购买 nike

据我所知,配置JPA/Hibernate有两种方法:

  • 通过 hibernate.cfg.xml 等基于 XML 的配置。我不喜欢他的方法,因为 XML ...
  • 通过实体对象中的注释。比 XML 配置好得多,但它将我的实体耦合到 JPA。

由于我目前正在研究一种架构,其中域模型对数据库一无所知(“洋葱”架构),因此我正在寻找一种在不更改实体的情况下指定映射的方法。

当然,我可以创建单独的映射类,例如如果我有一个 Customer 域对象,请创建一个 JPA 注释的 CustomerEntity 并让存储库从一个存储库转换为另一个存储库。但这种方法感觉不太正确,因为 Customer 和 CustomerEntity 本质上是相同的。

所以看来我必须求助于 Hibernate XML 配置,但正如前面提到的,我不喜欢这种方法。Spring有一个很好的配置方式:基于Java的配置。我想知道 Hibernate/JPA 配置是否有类似的东西,如果没有,为什么不呢?

如果以上都没有意义,我深表歉意,但欢迎任何帮助,即使它不能回答我的问题:-)

最佳答案

我从未听说过 Java EE 设计的洋葱理论。我确实听说过The Onion,但那是一份讽刺性时事通讯(如果是的话:-)。 Java EE 中的关注点分离通常表示为 MVC,即 Model View Controller 架构。您的 JSP 或 JSF 页面将是您的 View ,您的 @ManagedBean Controller 将是您的 Controller ,您的模型将保存您的实体。

该模型(JPA 所在的位置)通常可以进一步分为服务层持久层 和 EIS(企业信息系统)或数据库层。服务层将保存您的 EJB,并用 StatelessStatefullSingleton 进行注释,并将封装应用程序的业务逻辑。 持久层将具有由数据库存储的@Entity注释对象。

Java EE 使用 JSR 定义这些层,并带有某种数字。例如,Java 持久性 API (JPA) 是 JSR-220。测试是针对这些 JSR 开发的,如果供应商满足这些测试,那么他们的产品可以(或多或少)替换为另一个供应商的版本。

关于Hibernate/JPA 的 Java 配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35787881/

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