第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從另一個包添加實體時出現(xiàn)“QuerySyntaxException:用戶未映射”

從另一個包添加實體時出現(xiàn)“QuerySyntaxException:用戶未映射”

飲歌長嘯 2023-07-13 17:49:21
我制作了一個 Hibernate 配置 maven 項目(使用 maven-shade-plugin 構(gòu)建),以允許我的代碼庫使用一個統(tǒng)一的“數(shù)據(jù)庫類”。org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped但是,當從正在運行的項目外部調(diào)用時,該類似乎沒有映射(在運行時引發(fā)異常)。當在項目中運行時,一切正常。但是,當從項目外部運行時,Hibernate 無法映射實體。CommonDB.java(maven 包 meta1203-data 的一部分)package com.meta1203.microservices;import java.util.List;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class CommonDB <C extends BaseEntity> {    private Configuration cfg;    private SessionFactory sf;    private Session session;    private Class<C> c;    public CommonDB(Class<C> anoClass) {        String jdbcUrl = String.format(                "jdbc:mysql://%s/%s",                System.getenv("DB_URL"),                System.getenv("DB_NAME"));        cfg = new Configuration()                .setProperty("hibernate.connection.url", jdbcUrl)                .setProperty("hibernate.connection.username", System.getenv("DB_USERNAME"))                .setProperty("hibernate.connection.password", System.getenv("DB_PASSWORD"))                .setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver")                .setProperty("hibernate.connection.pool_size", "1")                .setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect")                .setProperty("hibernate.hbm2ddl.auto", "update")                .setProperty("hibernate.show_sql", "true")                .addAnnotatedClass(anoClass.getClass());        c = anoClass;    }    public void open() {        sf = cfg.buildSessionFactory();        session = sf.openSession();    }    public void close() {        session.close();        sf.close();    }    public C findOneBy(String field, String o) {        String query = "select u from " + c.getSimpleName() + " u where u." + field + " = :id";        return session.createQuery(query, c).setParameter("id", o).getSingleResult();    } // other CRUD functions}
查看完整描述

3 回答

?
慕標5832272

TA貢獻1966條經(jīng)驗 獲得超4個贊

@Entity

@Table(name = "users")

public class User extends BaseEntity {

您的實體稱為“用戶”,但它映射到一個稱為“用戶”的表。


將實體更改為用戶或?qū)⒈砀臑橛脩簟?/p>


應(yīng)該可以做到這一點。


查看完整回答
反對 回復 2023-07-13
?
翻閱古今

TA貢獻1780條經(jīng)驗 獲得超5個贊

嘗試:

Configuration configuration = new Configuration().configure();
        for (Class cls : getEntityClassesFromPackage("com.example.hib.entities")) {
            configuration.addAnnotatedClass(cls);
        }


查看完整回答
反對 回復 2023-07-13
?
慕姐8265434

TA貢獻1813條經(jīng)驗 獲得超2個贊

哎呀,我知道發(fā)生了什么事。我的銀河大腦決定在 Class 對象上執(zhí)行操作addAnnotatedClass(anoClass.getClass()),所以我試圖將 java.lang.Class 聲明為 Hibernate 實體...哦,好吧,我只是個白癡。將其更改為 justaddAnnotatedClass(anoClass)并且效果很好。



查看完整回答
反對 回復 2023-07-13
  • 3 回答
  • 0 關(guān)注
  • 223 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號