gpt4 book ai didi

java - 从 Hibernate 中的模型中获取表名

转载 作者:IT老高 更新时间:2023-10-28 21:05:23 25 4
gpt4 key购买 nike

如何在 Hibernate 中获取模型的表名?

显然在 ClassMetadata 中曾经有一个 getTableName() 方法,但已被删除。

有一个 getClassMapping(String entityName) Configuration 中的方法,但我不知道如何(或是否应该)在我的 DAO 实现中使用 Configuration。

我的 DAO 实现是 HibernateGeneralGenericDao 的子类.

更新:事实证明,我可以在没有表名的情况下做我想做的事情。但是,为了引用,我将保持问题的开放性(并尝试答案)。

最佳答案

这有点奇怪,但它有效:

ClassMetadata hibernateMetadata = sessionFactory.getClassMetadata(pClassName);

if (hibernateMetadata == null)
{
return;
}

if (hibernateMetadata instanceof AbstractEntityPersister)
{
AbstractEntityPersister persister = (AbstractEntityPersister) hibernateMetadata;
String tableName = persister.getTableName();
String[] columnNames = persister.getKeyColumnNames();
}

关于java - 从 Hibernate 中的模型中获取表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/634342/

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