簡體   English   中英

具有 Hibernate Reactive 和 Quarkus 的六邊形架構

[英]Hexagonal Architecture with Hibernate Reactive and Quarkus

我在 Kotlin 項目中使用 Hexagonal Architecture、Hibernate Reactive with Panache 和 Quarkus。

使用@ReactiveTransactional注釋設置事務邊界。

問題是我必須在域和應用程序層中添加整個Hibernate Reactive with Panache依賴項,只是為了使這個注釋可用。

有沒有辦法避免這種情況?

我希望可以創建一個域注釋,然后在適配器層中以某種方式用@ReactiveTransactional替換它。

您可以從類中刪除注釋,並將其包裝到服務中,並使用注釋在適配器層中實現此服務。

不要在六邊形內使用與數據庫相關的依賴項。

這個想法是將業務邏輯與用戶界面和基礎設施分離。 數據庫邏輯應放置在適配器中。

理論上聽起來很棒,實際上這意味着大量的映射器,即樣板代碼。 從好的方面來說,你有一個 Kotlin,而不是一個 Java 項目,所以這應該比替代方案少一點乏味。 請記住,諸如 Dozer、MapStruct 之類的項目可以使映射過程更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM