Saiu o NHibernate 3.2!!! Conheçam as melhorias

Pessoal, incrível a quantidade de coisas corrigidas e melhorias desde a versão 3.1. Pra quem está usando efetivamente LINQ com NH, deve atualizar agora, muita coisa foi implementada. Pra quem usa PostGreSQL, agora compatibilidade total. Ahhhh temos agora até um dialeto SQL Azure (bem, o NH já funcionava há tempos com o Azure, agora só temos refinamentos…) .
De qualquer forma, se você quer saber o que há de novo antes de baixar, segue aqui a lista:

** Known BREAKING CHANGES from NH3.1.0.GA to NH3.2.0.GA
##### Design time #####
* removed obsolete “use_outer_join” property from nhibernate-configuration.xsd (simply remove it from your xml configuration)

##### Possible Breaking Changes #####
* All Dialect.GetLimitString() methods replaced with a single GetLimitString method with a new signature.
For dialects the developers don’t perform routine tests on, efforts were made to ensure the new limit string
method conforms to the database documentation. Please report any limit-related bugs discovered at runtime.
* [NH-2550] – Allow public access to FieldInterceptor Session (IFieldInterceptor changed)
* [NH-2593] – For Microsoft SQL Server the default batch-size (adonet.batch_size) is set to 20 where not explicit defined in the session-factory configuration
* – ICollectionPersister added property to fix [NH-2489]
* [NH-2605] Refactorize MultiQuery/MultiCriteria implementation to delegate responsibility to IDrive (IDrive changed).
* For users who don’t look at Log-ERROR, to prevent wrong behavior when lazy-properties are used the DynamicProxyValidator validates the accessability of properties setters.
* For those implementing IDrive without inherit from DriveBase: IDrive.AdjustCommand
* Dialect base: removed some no more needed properties

Build 3.2.0.GA (rev6000)
=============================
** Bug
* [NH-2792] – Using a named parameter multiple times in a native SQL query results in invalid parameter binding (exception in some drivers)
* [NH-2813] – Cache DefaultExpiration type is “byte”

** Improvement
* [NH-2571] – Full PostgreSQL Support
* [NH-2743] – Generic version of ISession.Merge()
* [NH-2800] – Change internal primitive type constructor to protected

** Patch
* [NH-2811] – Wrong logger type into AdoNetTransactionFactory & AdoNetWithDistributedTransactionFactory classes
* [NH-2814] – Documentation Error: Section 3.5 – Table 3.2 – transaction.factory_class (with patch)

Build 3.2.0.CR1 (rev5976)
=============================
** Bug
* [NH-2118] – GroupBy without Select doesnt work
* [NH-2387] – Postgres – Unable to run LINQ query using boolean predicate – ERROR: 42883: operator does not exist: boolean = integer
* [NH-2435] – No order by clause generated with self referencing orderby clause.
* [NH-2583] – Query with || operator and navigations (many-to-one) creates wrong joins
* [NH-2773] – ProxyObjectReference creates a new ProxyFactory for each deserialization which disables proxy caching

** Improvement
* [NH-2748] – Support % operator

** Patch
* [NH-2774] – Perf – reusing same regex object in joinwalker objects

Build 3.2.0.Beta2 (rev5964)
=============================
** Bug
* [NH-2206] – Cast is not supported by the new Linq provider
* [NH-2213] – CLONE -Wrong parameters order in IQuery with SetParameterList and Filter. SQL Server 2005
* [NH-2296] – Subselect fetching strategy with a “SetMaxResults” query generates *extremely* inefficient sql
* [NH-2317] – Select after Take does not work properly
* [NH-2318] – Template functions fail with certain combinations of arguments.
* [NH-2328] – Linq query on fails
* [NH-2415] – HQL parameters not converted correctly to SQL
* [NH-2657] – OrderBy After Cast Not Working
* [NH-2662] – Casting a joined alias in QueryOver loses alias context and looks for property on QueryOver root
* [NH-2700] – SqlFunctionProjection does not honor parameter order
* [NH-2701] – Cannot use Linq Skip() in conjunction with FetchMany and ToFuture
* [NH-2703] – Using a “with” restriction in outer joins result in wrong SQL
* [NH-2708] – Cast() with a where clause fails with a NotSupportedException
* [NH-2712] – Linq query doesn’t support enums in VB.NET
* [NH-2717] – Count() after Cast() causes InvalidOperationException
* [NH-2729] – Parameter values are not set using OffsetStartsAtOne
* [NH-2733] – Using an expression in QueryOver gives: Lambda Parameter not in scope
* [NH-2736] – Inverted parameters in HQL statement using take
* [NH-2739] – Can’t get ByCode mapping to produce not nullable varbinary(max)
* [NH-2741] – CLONE -HQL .class query on mapping does not work
* [NH-2746] – Invalid SQL generated for MSSQL when using Filter and paging subquery together [regression from 2.1]

** Improvement
* [NH-941] – One-Many Requiring Nullable Foreign Keys
* [NH-1050] – Unidirectional One To Many Without Nullable Foreign Key
* [NH-2070] – Better error message for “object references an unsaved transient instance”
* [NH-2427] – Support querying HasValue on Nullable types
* [NH-2683] – Add common dialect functions as extension methods for QueryOver
* [NH-2702] – Support HQL pagination with parameters
* [NH-2728] – ManyToAny missing from ICollectionElementRelation
* [NH-2732] – Dialect.GetLimitString simplifications and improvements
* [NH-2738] – Exception thrown when mapping contains empty enum
* [NH-2749] – Externalize Remotion.Linq namespace
* [NH-2753] – one-shot-insert for and

for unidirectional one-to-many
* [NH-2760] – Unable to order by sub-collection’s count
* [NH-2770] – Property spelling of IDbIntegrationConfigurationProperties.LogFormatedSql

** New Feature
* [NH-2616] – Support Trim() function in Linq

** Patch
* [NH-2125] – Solution for NH2123 – Subselect in combination with a disjuction query causes an enormous memory cons
* [NH-2363] – Patch for ComponentCollectionCriteriaInfoProvider, fixed persister.ElementType cast in constructor.

Build 3.2.0.Beta1 (rev5839)
=============================
** Bug
* [NH-2404] – Future queries crash (MultiQuery) when using projection queries using hql + result transformer or the linq provider (which compiles into hql)
* [NH-2421] – NotSupportedException text in ToFuture and ToFutureValue does not make sense (or help)
* [NH-2422] – ToFuture throws NotSupportedException on IQueryable if Fetch is used.
* [NH-2559] – NH 3.0 Linq Provider : Issue using multiple filters on the same entity
* [NH-2615] – Linq Fetch cannot traverse through components
* [NH-2690] – Linq Select() broken with .ToFuture()
* [NH-2691] – Linq LongCount() behavior different from Count()
* [NH-2697] – Named parameter not found in HQL with mapping using “entity-name”
* [NH-2698] – Proxying fails for methods with generic type constraints

** Improvement
* [NH-2568] – Create Custom Persister for Collection Type inherited from OneToManyPersister
* [NH-2695] – update default driver of firebird dialect to FirebirdClientDriver (FirebirdDriver is obsolete)

** New Feature
* [NH-2699] – Sql Azure dialect

Build 3.2.0.Aplha3 (rev5803)
=============================
** Sub-task
* [NH-1344] – QueryTranslator: Invalid Cast to object array when using IResultTransformer
* [NH-1642] – one-to-many collection doesn’t work if the child is mapped using table per class

** Bug
* [NH-1090] – Query cache does not work when using Criteria API to create a projection query with a result transformer
* [NH-1747] – Lazy load failure on items using if FK for bag is in the secondary table
* [NH-2510] – Lazy-loading doesn’t work with cache
* [NH-2569] – IDGeneratorBinding seems broken when mixing schemas
* [NH-2587] – .Cacheable().Fetch() throws ‘Exception occurred getter of xxx’
* [NH-2661] – NHibernate cannot handle SQL Server TIME columns when built with the .NET 4 framework
* [NH-2673] – Nhibernate 2nd level cache and Result transformer
* [NH-2685] – Unnecessary proxy initialisation in CriteriaQueryTranslator
* [NH-2686] – Embedded ResultsTransformers should implements Equals/GetHashCode

** Improvement
* [NH-2505] – Querries with WHERE containing SQL Server ‘bit’ datatype produce CASE construction
* [NH-2551] – Bad code practice. Function SessionFactoryImpl.GetImplementors: if type not found – value from ReflectHelper.ClassForFullName returns through TypeLoadException.
* [NH-2670] – Stateless Session load no-lazy collection
* [NH-2684] – More simple way to add NamedQueries by-code

** New Feature
* [NH-2674] – QueryOver doesn’t have support for entity-name

** Patch
* [NH-2669] – Patch to prevent “NHibernate.AssertionFailure: possible non-threadsafe access to the session” error caused by stateless sessions

Build 3.2.0.Aplha2 (rev5715)
=============================
** Bug
* [NH-2540] – Linq generates invalid boolean case statements (was: Linq ignoring configured query-substitutions)
* [NH-2640] – HQL Having clause is ignored without preceeding group by
* [NH-2641] – HQL does not throw exception on unexpected trailing tokens
* [NH-2642] – BatcherDataReaderWrapper.GetValue has a typo
* [NH-2643] – MSSQL configuration template is still using “use_outer_join”
* [NH-2652] – SchemaMetadataUpdater does not take Dialect default properties

** Improvement
* [NH-2644] – schemaaction is not supported in joinedsubclass

** New Feature
* [NH-2533] – Support paging in HQL

** Task
* [NH-2653] – Remove just added ExpressionTreeVisitor class

Build 3.2.0.Aplha1 (rev5664)
=============================
** Bug
* [NH-1925] – Wrong SQL aliases generated for HQL subselect
* [NH-2480] – AssertByIds test function with unordered Ids
* [NH-2488] – Subclass join does not exclude lazy properties
* [NH-2489] – AbstractPersistentCollection.ReadElementByIndex gives wrong result for missing element with lazy=”extra”
* [NH-2490] – Mapping.Join.IsLazy always returns true
* [NH-2491] – ObjectNotFoundException in HQL query when referencing joined subclass
* [NH-2498] – Lazy=”no-proxy” does eager load
* [NH-2554] – NHibernate Formula doesnt recognize varbinary as a keyword on Sql Server 2008 or 2008 R2
* [NH-2565] – session.Persist does not work with entities with lazy properties (no-proxy)
* [NH-2584] – An entity with a lazy property cannot be saved in new session
* [NH-2603] – lazy=”extra” return different count than initialized collection.
* [NH-2604] – Problem with MSTest and Relinq (possibly due to ILMerge)
* [NH-2607] – Proxifier should not try to proxy sealed and non public methods
* [NH-2610] – ISQLExceptionConverter doesn’t work with MultiCriteria and MultiQuery
* [NH-2622] – Proxying fails for methods with out and ref arguments
* [NH-2626] – LinqExtensionMethods.Query implements wrong NhQueryable
* [NH-2627] – Cloning subcriteria loses WithClause
* [NH-2628] – Fails to create proxy for class with method that has argument “ref of Dictionary”
* [NH-2632] – Lazy Properties Causing An Exception If Containing Class Is Set To Not Lazy
* [NH-2633] – MapperByCode don’t Register Component

** Improvement
* [NH-1513] – MultiCriteria, MultiQuery improvements
* [NH-2382] – HQL, Criteria, QueryOver need Set methods for all NHibernate types
* [NH-2418] – Dialect.IsQuoted fails on empty name
* [NH-2495] – Support ISqlQuery in MultiQuery
* [NH-2518] – disable/truncate SQL parameter logging of BLOBs
* [NH-2526] – Sybase ASE 15 support
* [NH-2530] – Include WHERE clause in error message if we aren’t able to locate a ‘High’ value
* [NH-2531] – NHibernate.Impl.CriteriaImpl.cs: Fix for possible ArgumentNullException in sub-criteria alias handling
* [NH-2550] – Allow public access to FieldInterceptor Session
* [NH-2563] – Support calls to ToString() in Linq queries
* [NH-2570] – Full SQLite Support
* [NH-2573] – Ability to retrieve longest registered type for a specified DbType
* [NH-2580] – “Unable to locate persister” exception message should be more helpful
* [NH-2586] – Default ProxyFactory
* [NH-2592] – Add ICriteria functionality missing in QueryOver
* [NH-2593] – Default common values per dialect
* [NH-2601] – Remove Dialect.HasAlterTable
* [NH-2605] – Refactorize MultiQuery/MultiCriteria implementation to delegate responsibility to IDrive
* [NH-2612] – Move the lambda con to the same namespace than Configuration
* [NH-2630] – Truncate SQL parameter logging of very long strings

** New Feature
* [NH-2015] – Implement Hibernate’s Order.IgnoreCase()
* [NH-2426] – postgresql schema metadata
* [NH-2591] – Insert ordering
* [NH-2602] – Mapping node in collection, subclass, join and so on
* [NH-2635] – Mapping by code

** Patch
* [NH-2548] – HQL Select Clause Parameters
* [NH-2590] – Missed registration of Concat function for SQLCE4
* [NH-2600] – Increase visibility of components in AbstractPersistentCollection

** Task
* [NH-2561] – Consider current_timestamp semantics
* [NH-2575] – Update documentation for immutable classes
* [NH-2608] – Integrate Remotion 1.13.100 to fix duplicate mscorlib problem
* [NH-2636] – Expose ExpressionTreeVisitor Members

Esse post foi publicado em NHibernate. Bookmark o link permanente.

Uma resposta para Saiu o NHibernate 3.2!!! Conheçam as melhorias

  1. Janina disse:

    Wonderful website you have! Maintain modernizing!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s