Вот некоторые обходные решения.
Имеют одного конструктора, который берет строку подключения, и затем имейте метод фабрики для класса, который берет имя файла. Что-то вроде этого:
public static Thing CreateThing(string fileName)
этот метод может назвать частный параметр меньшим количеством конструктора, и можно взять его оттуда.
Другая опция, должен иметь перечисление, которое имеет два типа в ней. FileName и ConnectionString. Затем просто имейте одного конструктора, который берет строку и перечисление. Затем на основе перечисления можно определить который способ пойти.
Я считаю, что Fluent-NHibernate полагается на прекрасные функции, предоставляемые Linq в C # 3.0, если я не ошибаюсь. Пока в Java не будут реализованы лямбда-выражения и т. Д., Я не думаю, что мы увидим Fluent Hibernate.
Я могу ошибаться. :)
Groovy supports lambda expressions (although they rather confusingly call them closures), and Groovy classes are directly accessible from Java. Perhaps the mappings for Java apps could be written in Groovy.
Just a thought.