What's new in NHibernate 4.0.4
Aug 17, 2015
- Bug:
- [NH-3795] - C# compiler "Roslyn" regression
New in NHibernate 4.0.3 (Jan 22, 2015)
- [NH-2504] - Can't use Cacheable with Group By
- [NH-3457] - TemplatedViolatedConstraintNameExtracter.ExtractUsingTemplate calls Substring with wrong arguments
- [NH-3468] - InvalidCastException when deleting entities containing uninitialized lazy components
- [NH-3573] - Query cache statistics not updated when using MultiCriteria
- [NH-3731] - Unable to serialize session after modifying the index of entities in a list
New in NHibernate 4.0.2 (Nov 21, 2014)
- BUG:
- [NH-2779] - Session.Get() can throw InvalidCastException when log-level is set to DEBUG
- [NH-2782] - Linq: selecting into a new array doesn't work
- [NH-2831] - NH cannot load mapping assembly from GAC
- [NH-3049] - Mapping by code to Field not working
- [NH-3222] - NHibernate Futures passes empty tuples to ResultSetTransformer
- [NH-3650] - ComponentAsId used more than once, cache first mapping and produces subsequently a sql select wrong
- [NH-3709] - Fix Reference to One Shot Delete and Inverse Collections
- [NH-3710] - Use of SetLockMode with DetachedCriteria causes null reference exception
- TASK:
- [NH-3697] - Ignore Firebird in NHSpecificTest.NH1981
- [NH-3698] - NHSpecificTest.NH1989 fails for some drivers
New in NHibernate 4.0.1 (Sep 22, 2014)
- Bug:
- [NH-3102] Wrong mapping produced by Map
- [NH-3214] PropertyContainerCustomizer.Bag() throws NullReferenceException when mapping a property of type IList
- [NH-3575] DefaultReadOnly not working for Future() queries
- [NH-3656] Firebird doesn't accept Currency as parameter type
- [NH-3667] MappingByCode produce wrong table field name 'idx' in Dictionary mappings
- [NH-3679] SchemaExport.Create(false, false) does not write to file specified via SchemaExport.SetOutputFile
- [NH-3691] All dialect checks in NHSpecificTest.NH1487.Fixture are broken
- [NH-3692] TypedManyToOneTest is broken for Firebird
- [NH-3694] Criteria or QueryOver with join to components collection does not return data. It worked in NH 3.3.
- [NH-3695] NHSpecificTest.NH1845 fails for some Dialects
- [NH-3696] Connection pooling + Multi threraded tests
- [NH-3701] NHSpecificTest.NH2302 Fails under Firebird
- Improvement:
- [NH-3604] Map ByCode fails when property is protected (not public)
- [NH-3687] Change Id mapping of TimesheetEntry from native to assigned
- [NH-3688] Modify NHSpecificTest.NH1391 so that it doesn't depend on preknown id values
- [NH-3690] Add LEFT function to Firebird
- Patch:
- [NH-3383] Fix for multiple objects of CascadeStyle in Memory that should be singleton
- [NH-3577] Fix in SessionFactory.Statistics.LogSummary() method to show 0 milisecond as MaxQueryTime when no query was executed, instead of -922337203685477
- Task:
- [NH-3085] Document enhanced id generators
- [NH-3660] Ignore Firebird in DtcFailuresFixture
- [NH-3689] Ignore Firebird in NHSpecificTest.NH1171
New in NHibernate 4.0.0 CR 1 (Aug 7, 2014)
- IDeleteEventListener, IEventSource: Use generic ISet instead of non-generic in method signatures.
- SqlString.Parts removed. Use SqlString.Count and SqlString.GetEnumerator().
- IPersistentCollection.GetSnapshot() now returns object instead of ICollection. The snapshot should be opaque to outside code.
- Removed IsDiscriminatorFormula, DiscriminatorFormula and GenerateSelectString from UnionSubclassEntityPersister class.
- Removed ManagedWebSessionContext. Any configuration files which use the "managed_web" session context should now use "web"
- SybaseASADialect removed: Use SybaseSQLAnywhere10Dialect instead.
- ASA10ClientDriver, ASAClientDriver and SQLiteDriver removed: Use SybaseSQLAnywhereDriver, SybaseAsaClientDriver, SQLite20Driver instead.
- Removed Classic HQL Parser.
- Removed IQueryTranslatorFactory2. It's methods were pulled up to IQueryTranslatorFactory. Method CreateQueryTranslators accepting string as first argument marked as Obsolete.
- IQueryExpression.Translate now has second boolean argument 'filter'
- Added several methods which accepts IQueryExpression to ISessionImplementor, which is duplicating methods which accepts string.
- Miss-spelled AdoNetWithDistrubtedTransactionFactory removed: Use AdoNetWithDistributedTransactionFactory instead
- HqlDistinctHolder removed: Use HqlExpressionSubTreeHolder instead
- DisableLogFormattedSql method removed: the default is disabled
- ISession.SaveOrUpdateCopy removed: Use Merge instead
- Oracle and MySQL: The atan2 and power functions now return double (instead of single) for consistency with other dialects.
- Removed FirebirdDriver. It was the same as FirebirdClientDriver since 3.2, and the latter have been the default since then.
- Removed bunch of unused methods on *Helper classes
- Static fields on NHibernateUtil are declared as their exact class
New in NHibernate 4.0.0 Alpha 2 (Jun 28, 2014)
- Fixed mapping by code behaviour when map child subclasses (see NH-3135 and NH-3269)
- The constructor of AbstractComponentTuplizer now behaves like AbstractEntityTuplizer in the way that it doesn't create the instantiator any more. Custom component tuplizers that derive
- directly from AbstractComponentTuplizer need to add this line of code in their constructor: instantiator = BuildInstantiator(component);
- Bug:
- [NH-2380] - Cannot perform distinct when selecting an anonymous type
- [NH-2486] - Distinct() extension method problem with Object Initialisers
- [NH-2655] - DbType.Double should be float(53) instead of DOUBLE PRECISION in the SQL-Severer2000 Dialect
- [NH-2692] - Using Any() on a collection of components results in invalid SQL: Column of parent ID is used instead of key column
- [NH-2861] - doesn't work in conjunction with
- [NH-2865] - "Expression type 'NhSumExpression' is not supported by this SelectClauseVisitor."
- [NH-2961] - "Index was outside the bounds of the array" error when executing cached query for single result with distinct results transformer
- [NH-3135] - Collection of Components in BaseClass cannot be mapped to a different table
- [NH-3269] - UniqueKey on property of base class will affect all inherited class
- [NH-3392] - Add ability to expand subcollections with composites ids with WCF Data Services
- [NH-3417] - Nested projection of subcollection throws
- [NH-3423] - MemberInitExpression causing problem in HqlGeneratorExpressionTreeVisitor (WCF DS)
- [NH-3571] - Linq does not support dynamic components inside components
- [NH-3579] - Session leak in the Query Plan Cache
- [NH-3586] - Firebird Decimals
- [NH-3588] - Creating and dropping of Temporary Tables in an isolated transaction is broken
- [NH-3590] - Detached entity with set of primitives throws
- [NH-3591] - IncrementGenerator unnecessarily creates a new connection to the db
- Improvement:
- [NH-1082] - Exceptions thrown in IInterceptor.BeforeTransactionCompletion should cause the transaction to be rolled back
- [NH-3041] - Expression-based PropertyRef missing in OneToOne mapping
- [NH-3072] - OneToManyPersister improvements
- [NH-3141] - Don't fetch id from proxy target
- [NH-3437] - Turn SqlMethods.Like into an extension method
- Patch:
- [NH-3558] - Table check and enhanced id generators in Mapping By Code
- [NH-3559] - UnionSubclassEntityPersister does not quote column names
- Task:
- [NH-3363] - Refactor Loader/Result Transformer interaction to match Hibernate
New in NHibernate 4.0.0 Alpha 1 (Oct 21, 2013)
- Sub-task:
- [NH-3038] - Add Support for SQL Server 2012 Query Paging
- [NH-3098] - Pull code/history from nhibernate-core repository to new iesi.collections repository
- [NH-3099] - Remove Iesi.Collection-related code from nhibernate-core repository
- [NH-3163] - Remove internal use of non-generic ISet
- [NH-3165] - Remove support for non-generic ISet in mapped classes
- Bug:
- [NH-2008] - Mapping with HashSet generates unecessary update on collection owner
- [NH-2033] - Composite-Id relationships (key-many-to-one) do not appear to be used in CreateCriteria
- [NH-2762] - Failed to use IGrouping.Contains() from Lookup to make SQL IN statement
- [NH-2772] - Lazy-collection not loaded when a property is Lazy-loaded
- [NH-2819] - DefaultDynamicLazyFieldInterceptor does not handle generic methods correctly
- [NH-2852] - Linq ThenFetch fails on deep where clause.
- [NH-2897] - MultiQuery/ToFuture broken with Contains (in)
- [NH-2915] - In Linq, Where clause is ignored if followed by Fetch and then by OrderBy
- [NH-2923] - Extra lazy indexed collection throws InvalidCastException fetching Count
- [NH-2955] - AbstractQueryImpl accepts IEnumerables in SetParameterList but breaks if they're not ICollections
- [NH-2977] - MsSqlServer dialects reject custom SQL Server queries with limits
- [NH-2985] - Wrong equals operator when you use mapping when child has property with lazy="true"
- [NH-3056] - Fetch clause suppresses where clause if positioned before Select clause
- [NH-3058] - Methods on entities with lazy properties do not trigger load of lazy properties
- [NH-3070] - Proxy for an entity with a lazy property and a formula property is not .Equal to itself
- [NH-3132] - Property with access="field.camelcase" not working when another property is lazy
- [NH-3139] - Optional Entity association using lazy property returns proxy instead of null
- [NH-3160] - Null reference Exception when creating schema for dialect that doesn't support unique
- [NH-3183] - Linq ToFuture/ToFutureValue does not fall-back if dialect does not support multi-queries
- [NH-3186] - Simple query with Fetch and SingleOrDefault throws exception (regression from 3.3.0)
- [NH-3202] - Offset parameter is off by one for dialects with OffsetStartsAtOne set (SybaseSQLAnywhere10+)
- [NH-3235] - Query plan cache cannot be set to size zero
- [NH-3236] - Build menu incorrectly launches NUnit
- [NH-3244] - Proxying fails for methods with generic class as generic parameter constraints or generic parameter attributes
- [NH-3256] - GroupBySelectClauseRewriter fails or is suboptimal on .Net 4.0
- [NH-3260] - Unable to proxy generic methods with constraints referencing type parameters from containing class
- [NH-3274] - Take() support broken with Informix
- [NH-3281] - Linq providers are not being passed Limit and/or Offset as value only as parameters
- [NH-3340] - NHibernate assembly loses the AllowPartiallyTrustedCallers attribute after ILMerge
- [NH-3381] - atan2 should be defined to return double on Oracle and MySql
- [NH-3420] - Race Condition in result set wrapper because of the ColumnNameCache
- Improvement:
- [NH-2005] - hql concat function not registered in MsSqlCeDialect
- [NH-2808] - Missing overloads for Session.Save/Update/SaveOrUpdate
- [NH-3037] - ActionQueue Insertion sort performance degrades exponentially (HHH-2957 Port)
- [NH-3054] - Mapping By-Code support for non-generic User Collection Types
- [NH-3133] - Support for importing classes in mapping.
- [NH-3175] - Joins should support additional restrictions (HQL-with)
- [NH-3238] - Add Sql2008ClientDriver support in DatabaseSetup for testing
- [NH-3272] - Move TypeHelperExtensionMethods to a more internal namespace
- [NH-3319] - Typo in a folder name in NHibernate.Test project
- [NH-3343] - Remove NHibernate custom Tuple classes
- [NH-3382] - Improve materialization performance (for simple Linq query, may reduce 50%+ time)
- [NH-3398] - Support PostgreSQL trigonometric functions
- [NH-3399] - Static fields on NHibernateUtil should be declared as their exact class
- [NH-3459] - DefaultIfEmpty not supported when used with a GroupBy
- [NH-3553] - Support the 'power' function on MS SQL Server
- New Feature:
- [NH-3164] - Support building NHibernate on .Net 4
- [NH-3166] - Support for Microsoft Sql Server 2012
- [NH-3193] - MsSqlCeDialect should correct override string manipulation functions
- [NH-3195] - MsSqlCeDialect should support TOP limit
- [NH-3284] - New Ingres9+ Dialect
- [NH-3349] - Add support for managed ODP.NET
- Patch:
- [NH-2778] - Batcher for MySql
- [NH-3540] - Null pointer exception for empty BaseDirectory (Path.combine)
- Task:
- [NH-2997] - Where() clause with many-to-many relation is missing (solution in description)
- [NH-3097] - Move Iesi.Collections project to own repository
- [NH-3185] - Update included Iesi.Collections.dll and add its pdb file
- [NH-3314] - Remove ManagedWebSessionContext
- [NH-3322] - Remove one of the Firebird drivers
- [NH-3339] - Remove SecurityPermission attributes with LinkDemand for .NET 4.0 assemblies
- [NH-3344] - Remove the classical HQL parser
- [NH-3345] - Remove support for persistent non-generic collections
- [NH-3346] - Remove members obsolete in NH3 from NH4
- [NH-3347] - Remove obsolete dialects for NH4
New in NHibernate 3.3.2 (Oct 26, 2012)
- Bug:
- [NH-2463] - Exception in LINQ projection with redundant type cast - block using WCF Data Services projection's
- [NH-2688] - SelectMany with cast throws QuerySyntaxException
- [NH-2898] - Retrieving object from 2nd cache with lazy property fails
- [NH-3050] - Contributed patch as solution to Unable to cast object of type 'NHibernate.Impl.ExpandedQueryExpression' to type 'NHibernate.Linq.NhLinqExpression' at NHibernate.Linq.NhQueryProvider.PrepareQuery
- [NH-3123] - Nuget package should contain the NHibernate logo
- [NH-3217] - OrderBy with a parameter then Skip and Take produces sql error
- [NH-3239] - Linq to NHibernate and Dynamic LINQ - query caching not working
- [NH-3271] - Threading problem in TypeFactory
- Improvement:
- [NH-3296] - Tweak build system to allow keeping a constant assembly version between compatible releases
- [NH-3297] - NHibernate 3.x NuGet package should forbid Iesi.Collections 4.0 or higher
- Patch:
- [NH-3293] - SimpleExpression.ToString() returns hashes for strings and dates
New in NHibernate 3.3.1 (Jun 12, 2012)
- Sub-task:
- [NH-3167] - Support for Microsoft Sql Server 2012 sequences
- [NH-3170] - Add native "iif" function to MsSql2012Dialect
- Bug:
- [NH-2789] - LINQ query on byte? simple property fails on MSSQL 2005 (tinyint)
- [NH-2812] - Performing a Linq query on a non-null byte property throws an InvalidCastException
- [NH-3121] - Silent truncation of binary data
- [NH-3124] - invalid cast to int in generated sql with a char property
- [NH-3125] - Invalid SQL when querying via LINQ with grouping (regression from 3.2)
- [NH-3126] - InvalidCastException when cascading saves to transient dictionary values
- [NH-3138] - Distinct Bug on MSSQL with OrderBy/Limit and functions in Projection/Order
- [NH-3142] - Batch-loading of lazy children failing when key is composite
- [NH-3145] - HQL query using base class entity with lazy properties throws "No Persister For" error
- [NH-3147] - Calling Contains on a subquery that contains a join throws an Exception
- [NH-3153] - Duplicated id generator tables if schema is specified using different methods for different classes.
- [NH-3162] - Byte.Equals in LINQ Where clauses throws NotSupportedException
- [NH-3172] - "Duplicate dynamic module name within an assembly"
- Improvement:
- [NH-3104] - Typo in Warning Messages
- [NH-3149] - MsSql2005Dialect should use nowait in LockMode.UPGRADE_NOWAIT
- [NH-3156] - ShowBuildMenu.bat does not work with spaces in repository folder name
- [NH-3168] - Add support for bit_length function for MsSql2000Dialect and above
- [NH-3169] - Add supprot for extract function for MsSql2000Dialect and above
New in NHibernate 3.2.0 CR 1 (Jul 4, 2011)
- Design time :
- removed obsolete "use_outer_join" property from nhibernate-configuration.xsd (simply remove it from your xml configuration)
- Possible Breaking Changes :
- [NH-2550] - Allow public access to FieldInterceptor Session (IFieldInterceptor changed)
- [NH-2593] - Form 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).
- 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
New in NHibernate 3.2.0 Alpha 1 (Apr 11, 2011)
- [NH-2392] ICompositeUserType.NullSafeSet method signature has changed
- [NH-2199] null values in maps/dictionaries are no longer silently ignored/deleted
- [NH-1894] SybaseAnywhereDialect has been removed, and replaced with SybaseASA9Dialect. Sybase Adaptive Server Enterprise (ASE) dialects removed.
- [NH-2251] Signature change for GetLimitString in Dialect
- [NH-2284] Obsolete members removed
- [NH-2358] DateTimeOffset type now works as a DateTimeOffset instead a "surrogate" of DateTime
New in NHibernate 3.0.0 CR 1 (Nov 23, 2010)
- Bug:
- [NH-2001] - Filter by Null in Linq (hql ast version) doesn't work
- [NH-2077] - SQL Server Dialect: Nhibernate fails to execute native queries with parameters, separated with ';'
- [NH-2084] - Future + hql queries + same parameter name leads to "NHibernate.QueryException: The named parameter personId was used in more than one query. Either give unique names to your parameters, or use the multi query SetParameter() methods"
- [NH-2331] - ICriteria: Correlated query throws "Could not find a matching criteria info provider to", works in 2.1.0 broken in 2.1.2
- [NH-2352] - Null reference exception in GetDefaultConfigurationFilePath when AppDomain.CurrentDomain.RelativeSearchPath is null
- [NH-2358] - DateTimeOffsetType doesnt properly convert to-from database; milliseconds are lost.
- [NH-2364] - Dynamic entities with "full name" result in incorrect queries
- Improvement:
- [NH-1108] - Reference Data - Ability to load all rows from a table using an HBM file.
- [NH-2313] - Better logging when SessionFactory is being built
- [NH-2355] - Allow composite-id without class on dynamic entity
- New Feature:
- [NH-2309] - Add support for Future() with the new Linq provider
- [NH-2367] - Native support for System.Uri as string
- Patch:
- [NH-2073] - Missing QuerySequencesString override in FirebirdDialect
- [NH-2082] - AdoTransaction sometimes writes to log wrong information about IsolationLevel
- [NH-2357] - Support for custom boolean functions in the linq provider (as FREETEXT).
New in NHibernate 3.0.0 Alpha 3 (Sep 27, 2010)
- Bug
- [NH-1927] - Criteria generates wrong sql when eager fetching one-to-many with filter
- [NH-1928] - SQL line comments swallow next line
- [NH-2024] - Max results parameter could not provided to subquery
- [NH-2061] - Merge operation causes null exception for null components that contain many-to-many relations
- [NH-2096] - IndexOutOfRangeException reading zero-length binary value from MySQL
- [NH-2112] - Update executed on the DB during a Session.Merge of an unmodified entity
- [NH-2138] - Entity name support in custom SQL is broken: sql-query/return/@entity-name attribute is ignored
- [NH-2147] - default_batch_fetch_size has no effect
- [NH-2188] - Exception occurs when configuration searches default config file and multiple search path were defined for current AppDomain.
- [NH-2202] - Unable to use ICriteria with projection property that references a composite key relationship
- [NH-2258] - Paging params in subquery breaks query execution.
- [NH-2265] - Any linq query using oracle fails when restricting the number of results returned
- [NH-2270] - NHibernatethrows MappingException on Linux/Mono 2.7
- [NH-2279] - PersistentIdentifierBag fails to maintain ID map in many cases
- [NH-2288] - The drop scripts from SchemaExport in SQL2005 dialect will not work for constraints when using DefaultSchema setting other than dbo
- [NH-2289] - Linq query fail when using contains from ICollection or IList
- [NH-2302] - MsSql Dialect, mapping an nvarchar(max) using string(10000) causes string truncation
- [NH-2303] - Regression bug: hibernate-mapping/subclass element can no longer extend hibernate-mapping/class//subclass element
- [NH-2322] - Performing updates in OnPostUpdate event causes enumeration error
- [NH-2339] - After rev 5139 (apply NH-2335) NHibernate does not work under Medium Trust
- [NH-2343] - NHibernate.Type.GenericBagType.Wrap() incorrectly assumes collection implements IList
- [NH-2344] - Coalesce expression does not work on linq provider
- Improvement
- [NH-626] - Adding XmlDoc to NH types
- [NH-1618] - Lazy loading for one-to-one association
- [NH-1894] - New SQL Anywhere NHibernate dialect
- [NH-2135] - Compatible with Mono
- [NH-2292] - Set Initialize in AbstractLazyInitializer as virtual
- [NH-2301] - Castle Bytecode with last released 2.5
- [NH-2321] - Recommended method for xml intellisense
- [NH-2340] - Workaround, for some DataProviders, in AbstractCharType for char?
- New Feature
- [NH-866] - SQL Server 2005 XML Support
- [NH-2348] - Support polymorphism with Get and Load
- Patch
- [NH-2006] - Additional test to use-many-to-one
- [NH-2111] - PersistentIdentifierBag has null reference exception when accessing SyncRoot on lazy loaded collection
- [NH-2278] - PersistentGenericIdentifierBag instantiates wrong list type
- [NH-2284] - Obsolete members can be removed
- [NH-2293] - When query has only a "from" throw QuerySyntaxException instead of InvalidCastException
- [NH-2307] - Fix ByteCode Framework Targets
- [NH-2332] - Update SybaseAnywhereMetaData.cs to support fetching the reserved words
- [NH-2335] - ReflectiveHttpContext support for different .NET versions
- [NH-2336] - Leading and trailing ansi trim emulation functions are reversed
- [NH-2346] - Dialect.TableTypeString is not used when creating schema.
- Task
- [NH-2161] - Breaking change in naming strategy from 2.0 to 2.1
- [NH-2315] - Spring version does not match antlr version
- [NH-2338] - Upgrade to Castle.Core 2.5.1
New in NHibernate 2.1.2 GA (May 4, 2010)
- Bug
- [NH-2011] - Many-to-many inside a component will not be saved when using SaveOrUpdateCopy or Merge
- Improvement
- [NH-2022] - Allow overriding in Query By Example
- Patch
- [NH-2007] - SesssionIdLoggingContext patch for big resultsets
- [NH-2019] - Clarification about the use of for polymorphic queries
New in NHibernate 2.1.0 Beta 1 (Jun 7, 2009)
- Bug
- [NH-959] - HQL queries with math operators and aggregates fail
- [NH-1092] - An Aggregate Count(*) on on an Abstract Base Class (Polymorphic) with UniqueResults returns 1 result per subclass when using the table per subclass approach
- [NH-1171] - Named parameters in SQL query are not substituted when query contains comments with apostrophes
- [NH-1182] - Calling session.delete() causes unnecessary update to timestamp before sql:delete
- [NH-1400] - HQL string literals with dots in are tried loaded as types (classes) and fails
- [NH-1427] - XML Comments inside tag cause exception
- [NH-1444] - broken implicit join
- [NH-1487] - schema generation of unique-key with column involved in multiple unique constraints
- [NH-1507] - NHibernate misplaces JOIN conditions when WHERE references their columns and others altoghether
- [NH-1517] - SaveOrUpdateCopy does not call "public LifecycleVeto OnUpdate(ISession s)"
- [NH-1601] - Problems when accessing lists through property
- [NH-1617] - Formulas containing a data type incorrectly have that data type aliased with the outer entity alias
- [NH-1735] - TicksType used as entity version causes exceptions on cache put operation.
- [NH-1789] - A proxy sometimes doesn't call the overriden Equals() method (mapping interface instead class)
- [NH-1801] - Cross join with a where clause where lhs and rhs are different types of associations breaks with the new AST Query Translator
- [NH-1802] - Query Cache does not include filters in QueryKey.ToString
- [NH-1805] - Does ignore on
- [NH-1813] - Not understandable exception message
- Improvement
- [NH-1814] - Autoregister ReservedWords from MetaData
- New Feature
- [NH-188] - Should Table/Column names be quoted automatically?
- Patch
- [NH-1044] - IdBag for component not in XSD
- [NH-1804] - Expiration property of session factory not handled when configured via XML
New in NHibernate 2.1.0 Alpha 3 (May 25, 2009)
- Bug
- [NH-1098] - Problem in filters with parameters and associated logging information
- [NH-1179] - Filter not applied in explicit join
- [NH-1264] - Eager fetching with Criteria/DetachedCriteria does not seem to be working properly
- [NH-1307] - Parameter Postion incorrect in the sql query .
- [NH-1343] - In HQL, when having only one Class for query it fails to work if we forget the Alias.
- [NH-1388] - Map does not delete keys if value of the key is null
- [NH-1574] - Stateless Session isn't ignoring untouched proxy properties on update
- [NH-1725] - When using SELECT NEW (iif(a=0, 2, 1)) From .... Returns error '(' expected after HQL function in SELECT
- [NH-1727] - Hql parameter problems (Sql2005dialect)
- [NH-1736] - NHibernate.Util.TypeNameParser doesn't parse correctly generic types
- [NH-1741] - DetachedNamedQuery is ignoring mapped properties
- [NH-1742] - Wrong parameters order in IQuery with SetParameterList and Filter. SQL Server 2005 and SQL Server 2000
- [NH-1744] - Open/Close a session inside a TransactionScope fails.
- [NH-1751] - DistinctRootEntityResultTransformer assumes source ILists are always ArrayLists
- [NH-1754] - cast HQLFunction don't cast the result
- [NH-1756] - Updating newly saved entity with generated version causes StaleObjectStateException (explicit flush before commit)
- [NH-1764] - TableHiLoGenerator fail in a TransactionScope with MySQL database
- [NH-1767] - Multiple TransactionScopes inside one Session do not work properly
- [NH-1770] - Not posible to have system properties in web.config and session-factory properties in external hibernate.cfg.xml
- [NH-1773] - HQL Queries with projection and join fetching fail with AST query translator
- [NH-1775] - AST Parser & Bitwise queries
- [NH-1776] - Query executed twice on session with enabled Filter will cause NullReferenceException
- [NH-1780] - Section 18.4 - Incorrect method name IsUnsaved()
- [NH-1788] - Dynamic Update & generated timestamp cause NH to try to update the readonly timestamp column
- [NH-1792] - Invalid Sql for Paging when Subquery contains Order By clause using MsSql2005Dialect
- Improvement
- [NH-514] - Allow expansion of the "on" clause in joins.
- [NH-1051] - Port AST-based HQL parser / QueryTranslator from H3
- [NH-1093] - Invalid caching probably shouldn't throw exceptions, but should log warnings.
- [NH-1516] - HQL doesn't support "update" statements
- [NH-1553] - SQL Server 2005: Support for wrapping snapshot isolation update conflict SQLException into a NHibernate StaleObjectStateException.
- [NH-1670] - MutiCriteria and MultiQuery results may be loaded directly into a generic List instead of an ArrayList
- [NH-1745] - SQL formatters for DLL and all others SQLs
- [NH-1750] - Mark NHibernate.Util.WeakHashtable [Serializable]
- [NH-1765] - Add ISessionImplementor property to PreDeleteEvent
- [NH-1791] - Allow passing params of projections to ICriteria.SetProjectios
- [NH-1794] - Allow query only properties and associations
- [NH-1797] - MsSql2005Dialect uses paging query when no offset specified
- New Feature
- [NH-322] - case when...then...else...end in select clause
- [NH-917] - Allow NHibernate to enlist in arbitrary IDbTransaction
- [NH-1701] - format_sql property of hibernate
- [NH-1786] - IObjectFactory (implementation responsibility by ByteCode provider) to concentrate all Activator.CreateInstance.
- Patch
- [NH-1726] - ISessionFactory.Settings gone - breaking change
- [NH-1769] - Transaction completion on rollback with TransactionScope can cause ObjectDisposedException
- [NH-1777] - Removed some duplicated casts
- [NH-1783] - DateType should store only the date part of a System.DateTime to a column