簡體   English   中英

將playframework子模塊中的jpa / hibernate @Entity添加到實體管理器進行掃描

[英]Adding jpa/hibernate @Entity in submodule in playframework to entity manager to scan

在Playframework中使用子模塊時,休眠實體出現問題。

通常(在沒有子模塊的單個應用程序中),我使用了以下代碼:

package models;
    @Entity
    public class AppMode {
        public static AppMode getCurrentConfigurationEntry() {
            return JPA.em().find(AppMode.class, 1L);
        }
    }

但是現在我必須告訴休眠實體管理器掃描子模塊模型,因為我遇到了錯誤:

[IllegalArgumentException: Unknown entity: AppMode]

我的子模塊中的模型類在包中:

package models.common;

我已經嘗試過:

        return JPA.em().find(models.common.AppMode.class, 1L);
        return JPA.em().find(common.models.AppMode.class, 1L);

但是我遇到了同樣的錯誤:

[IllegalArgumentException: Unknown entity: models.common.AppMode]

我的問題是:如何在運行子項目中配置休眠模式,以便在運行時將子模塊模型類添加到類路徑中?

我在兩個build.sbt文件中都聲明了帶有休眠的libraryDependencies。

每個模塊都應該有persistence.xml文件/配置嗎?

我必須手動添加映射思想的xml持久性文件,還必須使用注釋映射:@Entity

我認為您的問題與JPA配置有關。 檢查此答案該答案說明了JPA多模塊配置。

祝好運!

我認為Hibernate僅掃描jar文件中的JPA實體,而不掃描類/文件夾中的JPA實體,或者僅使用persistence.xml或類似的東西在jar中掃描。 這是在JavaSE上沒有Spring的純Hibernate解決方案: https : //stackoverflow.com/a/41845759/377320

暫無
暫無

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

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