Получение имени класса из абстрактного класса в статическом свойстве

Это работает на моей установке SQL Server 2008 R2. Я вообще не вижу ничего, кроме пользовательских баз данных

SELECT 
    *
FROM
   sys.objects
WHERE
   OBJECTPROPERTY(object_id, 'IsMSShipped') = 0

Вы можете изменить sys.objects , чтобы сказать, sys.tables и он все еще работает, или используйте " тип "для фильтрации. Или используйте OBJECTPROPERTY (object_id, «IsProcedure») и т. Д.

Примечание: это sys.objects в SQL Server 2005 +

Примечание 2: OBJECTPROPERTY будет работать для SQL Server 2000 тоже:

SELECT 
    *
FROM
   sysobjects
WHERE
   OBJECTPROPERTY(id, 'IsMSShipped') = 0

-3
задан carles xuriguera 18 January 2019 в 09:06
поделиться

3 ответа

Используйте это:

public abstract class AbstractDAProcedureMenuReceivedHandler<T extends AbstractDAProcedureMenuReceivedEvent> extends DaCommonEventHandler<T> {

    private static final Logger logger = LoggerFactory.getLogger ( AbstractDAProcedureMenuReceivedHandler.class);
0
ответ дан xcesco 18 January 2019 в 09:06
поделиться

Почему бы вам просто не «жестко закодировать» это имя класса? Это общепринятый подход, когда дело доходит до регистраторов

public abstract class AbstractDAProcedureMenuReceivedHandler<T extends AbstractDAProcedureMenuReceivedEvent> extends DaCommonEventHandler<T> {
    private static final Logger logger = LoggerFactory.getLogger(AbstractDAProcedureMenuReceivedHandler.class);
    ...
}

, любое другое решение - быть честным излишним для этого

0
ответ дан puffy.bun 18 January 2019 в 09:06
поделиться
private static final Logger LOGGER = LoggerFactory.getLogger(AbstractDAProcedureMenuReceivedHandler.class);
0
ответ дан Amit 18 January 2019 в 09:06
поделиться
Другие вопросы по тегам:

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