NHibernate возвращает повторяющийся объект в дочерних коллекциях при использовании Fetch

JVM как предпочтительный вариант. Это допускало бы широкую поддержку библиотеки со дня один. Посмотрите, как это принесло пользу Clojure.

кроме того, LLVM мог бы быть интересным выбором, но я не уверен, насколько "доказанный" это, так как у меня не может быть зрелой реализации языка с бэкендом LLVM.

я избежал бы.NET. Это сделало бы его тяжелее для сбора сообщества и поддержки вокруг нового языка, и Вы собираетесь нуждаться в нем скоро. Кроме того, это не является межплатформенным.

Независимо от того, что Вы выбираете, Вы изучите много путем выполнения так.

16
задан UpTheCreek 17 January 2011 в 15:23
поделиться

2 ответа

Вы можете выбрать отдельные результаты, указав SetResultsTransformer(Transformers.DistinctRootEntity);

15
ответ дан 30 November 2019 в 17:12
поделиться

Попробуйте использовать Фьючерс :

ICriteria criteriaFuture1
    = session.CreateCriteria<MyRootType>()
        .SetFetchMode("ChildCollection1", FetchMode.Eager)
        .Add(Restrictions.IdEq(id))
        .SetResultTransformer(Transformers.DistinctRootEntity)
        .FutureValue<MyRootType>();
 ICriteria criteriaFuture2
    = session.CreateCriteria<MyRootType>()
        .SetFetchMode("ChildCollection2", FetchMode.Eager)
        .Add(Restrictions.IdEq(id))
        .SetResultTransformer(Transformers.DistinctRootEntity)
        .FutureValue<MyRootType>();

 return criteriaFuture1.Value;
.
2
ответ дан 30 November 2019 в 17:12
поделиться
Другие вопросы по тегам:

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