Получить имя таблицы из модели в Hibernate

System.Speech является частью MSNet .Net и зависит от встроенных звуковых драйверов, движка TLS и т. д. ... и доступен только в Windows.

Я считаю, что в Mono была проделана определенная работа с пространством имен Speech 4/5 лет назад, но в этих версиях нет ничего в этом пространстве имен.

Вам нужно будет посмотреть в сторонних речевых библиотеках Linux и напишите некоторые обертки C # для них, если они в настоящее время недоступны.

30
задан Can Berk Güder 11 March 2009 в 14:40
поделиться

5 ответов

Используя Конфигурацию, можно назвать GetClassMapping () методом для определенного типа, который дал бы Вам некоторую отображающуюся информацию для того типа.

(По крайней мере, дело обстоит так в NHibernate, но я предполагаю, что это будет подобно в, в спящем режиме).

1
ответ дан Frederik Gheysels 11 March 2009 в 14:40
поделиться

возможно, используйте SessionFactory.getClassMetadata?

0
ответ дан Michael Pralow 11 March 2009 в 14:40
поделиться
  • 1
    Это блестяще ясно и призвало к ответу. – Code Whisperer 30 May 2013 в 00:42

При использовании аннотации Таблицы, Вы могли бы сделать что-то вроде этого:

Table table = Entity.class.getAnnotation(Table.class);
String tableName = table.name();
22
ответ дан Alex Rockwell 11 March 2009 в 14:40
поделиться
  • 1
    Но всегда необходимо определять типы всего, что Вы используете и в коде .ts, и в комментариях... – tforgione 19 January 2016 в 20:17

Это немного странно, но это работает:

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();
}
35
ответ дан tom redfern 11 March 2009 в 14:40
поделиться
  • 1
    Я надеюсь, что они реализуют jsdoc поколение вместо мс определенные xml документы – basarat 29 April 2013 в 10:40
Configuration cfg = new Configuration().configure();    
cfg.addResource("com/struts/Entities/User.hbm.xml");
cfg.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
Mappings m=cfg.createMappings();
System.out.println(">> class: "+m.getClass(className));
System.out.println("User table name:: "+m.getClass("User").getTable().getName());
2
ответ дан 27 November 2019 в 23:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: