Получить первичный ключ из класса сущностей из сессионного завода в спящем режиме - PullRequest
0 голосов
/ 22 октября 2019

Я создаю один SessionFactory, используя hibernate, и мне нужен первичный ключ всех таблиц, связанных с классами сущностей, сгенерированных из SessionFactory. Есть ли способ достичь этого?

Я создал SessionFactory и из собранных ClassMetaData. Но не удалось получить первичный ключ из ClassMetaData.

1 Ответ

0 голосов
/ 24 октября 2019

Я не знаю, какая у вас версия Hibernate. Это работает для версии 4.2.x:

Configuration con = // get the org.hibernate.cfg.Configuration
for(Iterator<PersistentClass> itpc = con.getClassMappings();itpc.hasNext();)
{
    PersistentClass pc = itpc.next();
    System.out.println(pc.getEntityName() + ", " + pc.getNodeName());
    System.out.println("Identifier(s):");
    Property idpy = pc.getIdentifierProperty();
    for(Iterator<?> itpy = idpy.getColumnIterator();itpy.hasNext();)
    {
        Object o = itpy.next();
        if(o instanceof Column)
        {
            Column c = (Column)o;
            System.out.println(c.getName());
        }
    }
}
...