You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(110) |
Nov
(296) |
Dec
(107) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(212) |
Feb
(263) |
Mar
(161) |
Apr
(183) |
May
(183) |
Jun
(75) |
Jul
(106) |
Aug
(88) |
Sep
(227) |
Oct
(143) |
Nov
(154) |
Dec
(53) |
2008 |
Jan
(77) |
Feb
|
Mar
|
Apr
(6) |
May
(103) |
Jun
(296) |
Jul
(54) |
Aug
|
Sep
(379) |
Oct
(283) |
Nov
(224) |
Dec
(214) |
2009 |
Jan
(129) |
Feb
(257) |
Mar
(136) |
Apr
(12) |
May
(329) |
Jun
(434) |
Jul
(375) |
Aug
(171) |
Sep
|
Oct
|
Nov
|
Dec
(54) |
2010 |
Jan
(198) |
Feb
(76) |
Mar
(3) |
Apr
(1) |
May
|
Jun
(62) |
Jul
(210) |
Aug
(447) |
Sep
(330) |
Oct
(257) |
Nov
(133) |
Dec
(453) |
2011 |
Jan
(240) |
Feb
(128) |
Mar
(442) |
Apr
(320) |
May
(428) |
Jun
(141) |
Jul
(13) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: NHibernate J. <mik...@us...> - 2006-11-13 18:34:38
|
[ http://jira.nhibernate.org/browse/NH-556?page=all ] Sergey Koshcheyev updated NH-556: --------------------------------- Fix Version: LATER > Assembly name resolution changes > -------------------------------- > > Key: NH-556 > URL: http://jira.nhibernate.org/browse/NH-556 > Project: NHibernate > Type: Improvement > Components: Core > Versions: 1.0.2 > Reporter: Sergey Koshcheyev > Priority: Minor > Fix For: LATER > > Some ideas to avoid type name-related problems that newcomers often stumble upon: > - Use the assembly that the mapping file is located in as a hint (when mappings are embedded resources) > - Throw a clear exception if the assembly name is not specified for a type and there is no default specified (i.e. do not attempt to load from NHibernate.dll nor from System.dll). -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:34:17
|
[ http://jira.nhibernate.org/browse/NH-383?page=3Dall ] Sergey Koshcheyev updated NH-383: --------------------------------- Fix Version: 1.2.0.CR1 Version: 1.2.0.Beta2 > SessionFactory should implement System.IDisposable > -------------------------------------------------- > > Key: NH-383 > URL: http://jira.nhibernate.org/browse/NH-383 > Project: NHibernate > Type: Improvement > Components: Core > Versions: 1.2.0.Beta2, 1.0-rc1 > Reporter: Pierre Henri Kuat=C3=A9 > Priority: Minor > Fix For: 1.2.0.CR1 > > Not very important, but it seems logical that NHibernate.ISessionFactory = inherits from System.IDisposable! --=20 This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:30:48
|
[ http://jira.nhibernate.org/browse/NH-545?page=all ] Sergey Koshcheyev updated NH-545: --------------------------------- Fix Version: LATER > Distributed transactions support > -------------------------------- > > Key: NH-545 > URL: http://jira.nhibernate.org/browse/NH-545 > Project: NHibernate > Type: Improvement > Components: Core > Versions: 1.0.2 > Reporter: Sergey Koshcheyev > Priority: Critical > Fix For: LATER > > Currently distributed transactions will not interact correctly with the second-level cache because NHibernate does not get notified when such transaction is completed and SessionImpl.AfterTransactionCompletion is not called then. Probably the only way to get this notification on .NET 1.1 is to implement a compensating resource manager (see namespace System.EnterpriseServices.CompensatingResourceManager). .NET 2.0 appears to have events on Transaction class that could serve this purpose. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:26:20
|
[ http://jira.nhibernate.org/browse/NH-802?page=all ] Sergey Koshcheyev updated NH-802: --------------------------------- Fix Version: LATER > Investigate possible use of MSBuild to build the project > -------------------------------------------------------- > > Key: NH-802 > URL: http://jira.nhibernate.org/browse/NH-802 > Project: NHibernate > Type: Task > Components: Toolset > Versions: 1.2.0.Beta1 > Reporter: Sergey Koshcheyev > Fix For: LATER > > Need to see whether MSBuild can handle everything that NAnt can, and maybe switch if so. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:24:18
|
[ http://jira.nhibernate.org/browse/NH-738?page=all ] Sergey Koshcheyev updated NH-738: --------------------------------- Fix Version: LATER > HQL select new generics support > ------------------------------- > > Key: NH-738 > URL: http://jira.nhibernate.org/browse/NH-738 > Project: NHibernate > Type: Improvement > Components: Core > Versions: 1.2.0.Beta1 > Reporter: Mike Nichols > Fix For: LATER > > Given class Pair<int,string> that has a constructor Pair(int i, string s), HQL fails to parse out the generic parameter tokens when trying the following expression: 'select new Pair<int,string>(p.Id,p.Name) from Person p' > The <import/> is used to pull in this custom Pair class. > The default error " , expected in SELECT ..." appears, but this is misleading. > Actually, the tokens in the QueryTranslator class' ConcreteQueries() method aren't parsed correctly when generic "<>" symbols are present in the query. It reads the comma in the generic parameter list as a field separator and doesn't recognize the less-than/greater-than symbols. > Seems like this could be a powerful and (simple?) improvement ... -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:22:50
|
[ http://jira.nhibernate.org/browse/NH-628?page=all ] Sergey Koshcheyev updated NH-628: --------------------------------- Fix Version: LATER > HQL functions mapping > --------------------- > > Key: NH-628 > URL: http://jira.nhibernate.org/browse/NH-628 > Project: NHibernate > Type: Improvement > Components: Data Providers > Versions: 1.2.0.Beta1 > Reporter: Fabio Maulo > Assignee: Fabio Maulo > Fix For: LATER > Attachments: NH628CastFunction.patch, NH628First.patch, NH628Next1.patch, NH628Next2.patch > > For columns types we have RegisterColumnType in the dialect to registr the supported types for a specific dialect. > With RegisterColumnType we can map a DbType with a equivalent specific dialect type although it isn't directly supported (a DbType.Guid can be mapped to a CHAR(38)). > Functions haven't mapping so if i write "from Person p where lenght(p.Name) > 10" i can't sure that work with all, or many, dialect. If the "lenght" function is not supported by an specific dialect i don't recive a NHibernate excetion directly with the message "lenght is not supported by XYZ dialect". > I think that he would be useful to have a collection of "basic" HQL function that can be specialized for a specific > dialect. > For example NHb can have in it's HQLfunctionList: > -a function named "hblenstr" that recive a parameter type NHibernateUtil.String (or a property with type NHibernateUtil.String) and return a NHibernateUtil.Int32. > -a function named "hbNullToInt" that recive two parameter; the first is a NHibernateUtil.Int16 or NHibernateUtil.Int32 or NHibernateUtil.Int64 (or a property...); the 2th is a constant of type NHibernateUtil.Int16 .. etc. > Heach dialect can have an overload of RegisterFunction( string hbFunctionName, dialectFunctionName ). > For the two function in the example we can have: > for Oracle9Dialect > RegisterFunction("hblenstr","length"); > RegisterFunction("hbNullToInt","nvl"); > for MsSql2000Dialect > RegisterFunction("hblenstr","length"); > for FirebirdDialect (or a specific FirebirdDialect with extended UDFs ;) ) > RegisterFunction("hblenstr","strlen"); > RegisterFunction("hbNullToInt","invl"); > Now we can write an HQL like this "from Person p where hblenstr(p.Name) > 10" and NHb can substitue "hblenstr" with apropiate dialect function (before substitution can control that the hblenstr revive de apropiate param type etc.). > This posible implementation don't have problems if an hbXYZ function have the same name of specific dialect function (i think the probability is very low but there are no problems). > The actual implementation of RegisterFunction don't need any adjustment because all continue to work. > Finally: > -If a dialect use actual implementation of RegisterFunction and a developer use this function in a HQL he can't be sure that all work fine when he need to change de hibernate.cfg.xml to change the dialect. > -If a dialect was implemented with RegisterFunction( string hbFunctionName, dialectFunctionName ) mapping and a developer use the hbXYZ function in a HQL he can have an hight probability that all work fine. > Bye. > Fabio. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:20:41
|
[ http://jira.nhibernate.org/browse/NH-305?page=all ] Sergey Koshcheyev updated NH-305: --------------------------------- Fix Version: LATER Version: 1.2.0.Beta2 > Database-managed version columns > -------------------------------- > > Key: NH-305 > URL: http://jira.nhibernate.org/browse/NH-305 > Project: NHibernate > Type: New Feature > Components: Core > Versions: 1.2.0.Beta2, beta-0.8.4 > Reporter: Sergey Koshcheyev > Priority: Minor > Fix For: LATER > > NHibernate should be able to use database-managed version columns (timestamp on MySQL and SQL Server, xmin on PostgreSQL, etc.) This means querying the database for the version after an insert/update, and some care has to be taken to prevent possible race conditions (some other thread might modify the data between insert/update and version select). -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:19:16
|
[ http://jira.nhibernate.org/browse/NH-188?page=all ] Sergey Koshcheyev closed NH-188: -------------------------------- Resolution: Won't Fix Assign To: (was: Mike Doerfler) > Should Table/Column names be quoted automatically? > -------------------------------------------------- > > Key: NH-188 > URL: http://jira.nhibernate.org/browse/NH-188 > Project: NHibernate > Type: New Feature > Components: Core > Reporter: Paul Hatcher > Priority: Minor > > Should the driver automatically quote table and column names e.g. [Table].[Column] for SQL server. > I know there is support for escaped names via the mapping file, but I'm supporting a number of projects where we have multiple database engines and the ability to have a single mapping file would minimise bugs etc. > By delegating the quoting to the dialect, this would simplify the problem of different engines having different reserved words etc. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:18:22
|
[ http://jira.nhibernate.org/browse/NH-421?page=all ] Sergey Koshcheyev updated NH-421: --------------------------------- Fix Version: (was: 1.2.0.CR1) LATER > Dialect Improvements > -------------------- > > Key: NH-421 > URL: http://jira.nhibernate.org/browse/NH-421 > Project: NHibernate > Type: Improvement > Components: Core > Versions: 1.0 > Reporter: Mike Doerfler > Fix For: LATER > > While working on the if exists and drop table issue for MS SQL I came across some areas to make improvements. > It would be good to take advantage of the String.Format() capabilities instead of doing string building in Dialect based on multiple properties being true. The best example of this is the GetDropTableString(string tableName). It would be good to add a virtual property to Dialect called DropTableString{get;} that would be a string that could be formatted with one value. Other Dialects could implement the property DropTableString instead of the properties SupportsIfExistsBeforeTableName and SupportsIfExistsAfterTableName. > This same thing applies to GetDropForeignKeyConstraintString(string constraintName). It would also be good to pass the table name so the signature becomes GetDropForeignKeyConstraintString(string tableName, string constraintName) and that would remove the ddl from NHibernate.Mapping.ForeignKey.SqlDropString. The way it is coded now (without modifying a public API) does not allow for an IF EXISTS check before altering the table. The sql to drop a FK in MS SQL is : > if exists (select * from dbo.sysobjects where id = object_id(N'{constraintName}') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) > ALTER TABLE {tableName} DROP CONSTRAINT {constraintName} > GO -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:16:35
|
[ http://jira.nhibernate.org/browse/NH-693?page=all ] Sergey Koshcheyev reopened NH-693: ---------------------------------- > Better Error Msg > ---------------- > > Key: NH-693 > URL: http://jira.nhibernate.org/browse/NH-693 > Project: NHibernate > Type: Improvement > Components: Core > Reporter: Dru Sellers > Priority: Minor > > Can we have better error msg for this error? > "NHibernate.MappingException: Index was outside the bounds of the array. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array. > at NHibernate.Mapping.Table.set_Name(String value) > at NHibernate.Cfg.Mappings.AddTable(String schema, String name) > at NHibernate.Cfg.Binder.BindRootClass(XmlNode node, RootClass model, Mappings mappings) > at NHibernate.Cfg.Binder.BindRoot(XmlDocument doc, Mappings model) > at NHibernate.Cfg.Configuration.AddValidatedDocument(XmlDocument doc) > at NHibernate.Cfg.Configuration.AddXmlReader(XmlTextReader hbmReader) > at NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream) > --- End of inner exception stack trace --- > at NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream) > at NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly, Boolean skipOrdering) > at NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly) > at NHibernate.Cfg.Configuration.AddAssembly(String assemblyName) > I would be happy to code it up, but not sure where to best put the check? > NHibernate.Mapping.Table.set_Name (least amount of code repeat.) > or > NHibernate.Cfg.Mappings.AddTable(String schema, String name) best place to provide the most info possible. Actually this is a bad place too. > --Thoughts?-- -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:13:35
|
[ http://jira.nhibernate.org/browse/NH-528?page=all ] Sergey Koshcheyev updated NH-528: --------------------------------- Comment: was deleted > Fix GROUP BY example in documentation (GROUP BY object instance does not work) > ------------------------------------------------------------------------------ > > Key: NH-528 > URL: http://jira.nhibernate.org/browse/NH-528 > Project: NHibernate > Type: Bug > Components: Documentation > Versions: 1.0.2 > Reporter: Nels P. Olsen > Priority: Minor > Fix For: 1.2.0.Beta2 > > Chapter 11 of the Hibernate documentation shows three HQL examples where GROUP BY is used with an object instance. E.g. > select cat, count( elements(cat.kittens) ) > from eg.Cat cat group by cat > This does not work. Refer to the following forum posts for details: > http://forum.hibernate.org/viewtopic.php?t=953716 > http://forum.hibernate.org/viewtopic.php?t=950514 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:13:27
|
[ http://jira.nhibernate.org/browse/NH-796?page=all ] Sergey Koshcheyev updated NH-796: --------------------------------- Fix Version: 1.2.0.CR1 > Document ISessionFactory.GetCurrentSession functionality > -------------------------------------------------------- > > Key: NH-796 > URL: http://jira.nhibernate.org/browse/NH-796 > Project: NHibernate > Type: Task > Components: Documentation > Versions: 1.2.0.Beta1 > Reporter: Sergey Koshcheyev > Priority: Trivial > Fix For: 1.2.0.CR1 > -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:11:03
|
[ http://jira.nhibernate.org/browse/NH-807?page=all ] Sergey Koshcheyev updated NH-807: --------------------------------- Fix Version: 1.2.0.CR1 > Criteria Tests > -------------- > > Key: NH-807 > URL: http://jira.nhibernate.org/browse/NH-807 > Project: NHibernate > Type: Patch > Components: Tests, Core > Versions: 1.2.0.Beta2 > Reporter: Fabio Maulo > Fix For: 1.2.0.CR1 > Attachments: CriteriaTestAndSomePatch.patch > > The patch include: > - new directory src\NHibernate.Test\Criteria with the port of hibernate-3.2\test\org\hibernate\test\criteria\CriteriaQueryTest.java > - added [Serializable] of some existing class (for same class adjusted identation) > - add Expression.IdEq and it's implementation NHibernate/Expression/IdentifierEqExpression.cs > - in ICriteria add of overload CreateCriteria(string associationPath, JoinType joinType) > - CriteriaImpl for [Serializable], identation and AddOrder of subcriteria > - added NHibernate/Property/ChainedPropertyAccessor.cs and changed AliasToBeanResultTransformer to auto-chose access to property or fields > -PassThroughResultTransformer for [Serializable] and identation -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:10:28
|
[ http://jira.nhibernate.org/browse/NH-503?page=all ] Sergey Koshcheyev updated NH-503: --------------------------------- Fix Version: LATER > Unable to use HQL expression with subtype > ----------------------------------------- > > Key: NH-503 > URL: http://jira.nhibernate.org/browse/NH-503 > Project: NHibernate > Type: Improvement > Components: Core > Versions: 1.0.1 > Reporter: Jerry Haltom > Fix For: LATER > > query = session.CreateQuery( > "select person\n" + > "from ISIS.Data.Core.PaymentInstruction payment\n" + > "inner join payment.Participant participant\n" + > "inner join participant.Program program\n" + > "inner join program.Contract contract\n" + > "inner join participant.Person person\n" + > "where payment.LastDate is null null\n" + > " and payment.Account.class = ISIS.Data.Core.BankAccount\n" + > " and payment.Account.Number like '%' + :accountNumber + '%'\n" + > " and contract.Client = :client\n" > ); > The error I am receiving is that the property Account cannot be found in type ISIS.Data.Core.Account. BankAccount is a subclass of Account. I am trying to apply an expression only against BankAccounts in the database. It looks like it doesn't know this. If there was some way to case payment.Account in HQL, that would fix it. What is the solution? -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:07:00
|
[ http://jira.nhibernate.org/browse/NH-576?page=all ] Sergey Koshcheyev updated NH-576: --------------------------------- Fix Version: LATER Version: 1.2.0.Beta2 > Add support for Sybase and SQL Server (7,2000,2005) table hints > --------------------------------------------------------------- > > Key: NH-576 > URL: http://jira.nhibernate.org/browse/NH-576 > Project: NHibernate > Type: New Feature > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Chad Myers > Fix For: LATER > > Please see this forum post for more information and for updates: > http://forum.hibernate.org/viewtopic.php?t=957955 > I need to lock a range of rows -- and I mean LOCK, no one can even read them or do anything with them until I'm done (this is a queueing type situation, so this is necessary). > In SQL Server, the way you go about doing that is: > --------------- > SET TRANSACTION ISOLATION LEVEL SERIALIZABLE > BEGIN TRANSACTION > SELECT * FROM DocumentVersion WITH (HOLDLOCK, XLOCK) WHERE ... > COMMIT TRANSACTION > SET TRANSACTION ISOLATION LEVEL READ COMMITTED > --------------- > Currently, there is no way to accomplish this using HQL in NHibernate 1.x. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:06:53
|
[ http://jira.nhibernate.org/browse/NH-387?page=all ] Sergey Koshcheyev updated NH-387: --------------------------------- Fix Version: LATER Version: 1.2.0.Beta2 > Rolling back identifiers > ------------------------ > > Key: NH-387 > URL: http://jira.nhibernate.org/browse/NH-387 > Project: NHibernate > Type: Improvement > Components: Core > Versions: 1.2.0.Beta2, 1.0-rc1 > Reporter: Sergey Koshcheyev > Priority: Minor > Fix For: LATER > > NHibernate should roll back identifiers in case of failed additions or successful deletions. Hibernate 3 has this functionality controlled by a configuration option (hibernate.use_identifer_rollback). -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:06:51
|
[ http://jira.nhibernate.org/browse/NH-590?page=3Dall ] Sergey Koshcheyev updated NH-590: --------------------------------- Fix Version: LATER > Fast creation of the SessionFactory using a "cache" > --------------------------------------------------- > > Key: NH-590 > URL: http://jira.nhibernate.org/browse/NH-590 > Project: NHibernate > Type: New Feature > Components: Core > Versions: 1.0.2 > Reporter: Pierre Henri Kuat=C3=A9 > Fix For: LATER > > One of the slowest operation of NHibernate is the creation of the Session= Factory. And, in production, the result of this process is always the "same= " SessionFactory. > It would be interesting to create an add-in (it should be non-intrusive) = which provides an easy way of "caching" the SessionFactory and reusing it w= hen the application restarts. The most obvious solution would be to seriali= ze/deserialize the SessionFactory but we should also provide a way to inval= idate the cached SessionFactory (when a dependent assembly is recompiled or= when a config file changes)... > This feature will mainly be useful to Windows Applications (as their load= ing time should be as low as possible) but also to developpers which work o= n a feature of a NHibernate application which isn't related to NHibernate (= like when you design a new Form and want to test it :) ). --=20 This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:06:44
|
[ http://jira.nhibernate.org/browse/NH-801?page=all ] Sergey Koshcheyev updated NH-801: --------------------------------- Fix Version: 1.2.0.CR1 Summary: Upgrade NAnt libraries to 0.85 (was: Upgrade NAnt libraries to 0.85-rc4) > Upgrade NAnt libraries to 0.85 > ------------------------------ > > Key: NH-801 > URL: http://jira.nhibernate.org/browse/NH-801 > Project: NHibernate > Type: Task > Components: Toolset > Versions: 1.2.0.Beta1 > Reporter: Sergey Koshcheyev > Priority: Trivial > Fix For: 1.2.0.CR1 > -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:06:00
|
[ http://jira.nhibernate.org/browse/NH-520?page=all ] Sergey Koshcheyev updated NH-520: --------------------------------- Fix Version: LATER Version: 1.2.0.Beta2 > Utilize ASP.Net 2.0 SQL Cache Dependancies > ------------------------------------------ > > Key: NH-520 > URL: http://jira.nhibernate.org/browse/NH-520 > Project: NHibernate > Type: New Feature > Components: Contrib > Versions: 1.2.0.Beta2 > Reporter: Avi Naparstek > Priority: Minor > Fix For: LATER > > It would be a great to have NH Second-Level cache utilize the new ASP.Net 2.0 SQL Cache Dependency feature. > By this, we would be able to place an NH entity in the Second Level cache and keep it there until the underlaying table/row is changed. > Using this in plain ASP.Net (without NH) gives an excellent caching scheme for lists of common data (phone area codes, lookup values and other data which is frequently used but infrequently changed. It seems like a must for an ORM system that's targeted to be used in ASP.Net Web applications. > Thinking out loud: > (I'm not very farmiliar with the second-level cache provider architecture of NH so maybe I'm way off ) > If when NH passes an object/entity to the cache provider the cache provider knows about the cached object's class and assembly, then it should be simple for the cache provider to use NH's meta API to look up the underlaying table/s for the cached entity and just store the item in the ASP.Net cache with an SQL dependancy on the underlaying table. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:05:19
|
[ http://jira.nhibernate.org/browse/NH-693?page=comments#action_14380 ] Dru Sellers commented on NH-693: -------------------------------- Or maybe not. Here it is <pre> [Test] public void TableNameEmpty() { Table tbl = new Table(); tbl.Schema = ""; tbl.Name = ""; Dialect.Dialect dialect = new Dialect.MsSql2000Dialect(); //not sure what to assert } </pre> > Better Error Msg > ---------------- > > Key: NH-693 > URL: http://jira.nhibernate.org/browse/NH-693 > Project: NHibernate > Type: Improvement > Components: Core > Reporter: Dru Sellers > Priority: Minor > > Can we have better error msg for this error? > "NHibernate.MappingException: Index was outside the bounds of the array. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array. > at NHibernate.Mapping.Table.set_Name(String value) > at NHibernate.Cfg.Mappings.AddTable(String schema, String name) > at NHibernate.Cfg.Binder.BindRootClass(XmlNode node, RootClass model, Mappings mappings) > at NHibernate.Cfg.Binder.BindRoot(XmlDocument doc, Mappings model) > at NHibernate.Cfg.Configuration.AddValidatedDocument(XmlDocument doc) > at NHibernate.Cfg.Configuration.AddXmlReader(XmlTextReader hbmReader) > at NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream) > --- End of inner exception stack trace --- > at NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream) > at NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly, Boolean skipOrdering) > at NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly) > at NHibernate.Cfg.Configuration.AddAssembly(String assemblyName) > I would be happy to code it up, but not sure where to best put the check? > NHibernate.Mapping.Table.set_Name (least amount of code repeat.) > or > NHibernate.Cfg.Mappings.AddTable(String schema, String name) best place to provide the most info possible. Actually this is a bad place too. > --Thoughts?-- -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:05:18
|
[ http://jira.nhibernate.org/browse/NH-693?page=comments#action_14379 ] Dru Sellers commented on NH-693: -------------------------------- The issue is if the user forgets to supply a table name. table="" we throw a NHibernate.MappingException: Index was outside the bounds of the array instead of a "you forgot to tell us the table name" exception. NHibernate.Mapping.Table.set_Name - Line 89 If a string "" is passed in there is no string.IsEmptyOrNull type check. NHibernate.Cfg.Mappings.AddTable(String schema, String name) Once again there is no check for empty or null strings. I have attached a unit test. > Better Error Msg > ---------------- > > Key: NH-693 > URL: http://jira.nhibernate.org/browse/NH-693 > Project: NHibernate > Type: Improvement > Components: Core > Reporter: Dru Sellers > Priority: Minor > > Can we have better error msg for this error? > "NHibernate.MappingException: Index was outside the bounds of the array. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array. > at NHibernate.Mapping.Table.set_Name(String value) > at NHibernate.Cfg.Mappings.AddTable(String schema, String name) > at NHibernate.Cfg.Binder.BindRootClass(XmlNode node, RootClass model, Mappings mappings) > at NHibernate.Cfg.Binder.BindRoot(XmlDocument doc, Mappings model) > at NHibernate.Cfg.Configuration.AddValidatedDocument(XmlDocument doc) > at NHibernate.Cfg.Configuration.AddXmlReader(XmlTextReader hbmReader) > at NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream) > --- End of inner exception stack trace --- > at NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream) > at NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly, Boolean skipOrdering) > at NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly) > at NHibernate.Cfg.Configuration.AddAssembly(String assemblyName) > I would be happy to code it up, but not sure where to best put the check? > NHibernate.Mapping.Table.set_Name (least amount of code repeat.) > or > NHibernate.Cfg.Mappings.AddTable(String schema, String name) best place to provide the most info possible. Actually this is a bad place too. > --Thoughts?-- -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:05:15
|
[ http://jira.nhibernate.org/browse/NH-646?page=all ] Sergey Koshcheyev updated NH-646: --------------------------------- Fix Version: LATER > Ability to order a bag by inherited columns > ------------------------------------------- > > Key: NH-646 > URL: http://jira.nhibernate.org/browse/NH-646 > Project: NHibernate > Type: Improvement > Components: Core > Versions: 1.0.2 > Reporter: Jason Hill > Priority: Minor > Fix For: LATER > > Need the ability to sort a bag in the mapping file by columns from an inherited object[table]. > See forum thread http://forum.hibernate.org/viewtopic.php?p=2310806 for more details. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:05:09
|
[ http://jira.nhibernate.org/browse/NH-686?page=3Dall ] Sergey Koshcheyev updated NH-686: --------------------------------- Fix Version: LATER > Formula field in joined subclass possibly works incorrectly > ----------------------------------------------------------- > > Key: NH-686 > URL: http://jira.nhibernate.org/browse/NH-686 > Project: NHibernate > Type: Improvement > Components: Core > Versions: 1.0.2 > Reporter: Ivanov Mikhail > Priority: Minor > Fix For: LATER > > I have created the following mapping: > <?xml version=3D"1.0" encoding=3D"utf-8" ?>=20 > <hibernate-mapping xmlns=3D"urn:nhibernate-mapping-2.0"> > <class name=3D"CoreIMSEE.Domain.Partner, CoreIMSEE.Domain" table=3D"P= ARTNER"> > =09=09<id name=3D"Id" column=3D"ID" unsaved-value=3D"0" access=3D"field.c= amelcase"> > =09=09=09<generator class=3D"native" /> > =09=09</id> > =09=09 > =09=09<timestamp name=3D"timestamp" column=3D"TS" access=3D"field"/> > <property name=3D"Code" column=3D"CODE" type=3D"String" length=3D"50"= not-null=3D"true" /> > =09=09<property name=3D"Name" column=3D"NAME" type=3D"String" length=3D"1= 00" not-null=3D"true" /> > =09=09<property name=3D"IsVendor" column=3D"IS_VENDOR" type=3D"YesNo" not= -null=3D"true" /> > =09=09<property name=3D"IsCustomer" column=3D"IS_CUSTOMER" type=3D"YesNo"= not-null=3D"true" /> > =09=09<property name=3D"IsClient" column=3D"IS_CLIENT" type=3D"YesNo" not= -null=3D"true" /> > =09=09<property name=3D"IsActive" column=3D"IS_ACTIVE" type=3D"YesNo" not= -null=3D"true" /> > <property name=3D"IsAutoFax" column=3D"AUTOFAX" type=3D"YesNo" not-= null=3D"true" /> > =09=09<many-to-one name=3D"Address" column=3D"ADDRESS_ID" not-null=3D"tru= e" cascade=3D"all" /> > <many-to-one name=3D"CreatedBy" column=3D"CREATED_BY" not-null=3D"fal= se" cascade=3D"none" /> > <many-to-one name=3D"VerifiedBy" column=3D"VERIFIED_BY" not-null=3D"f= alse" cascade=3D"none" /> > <joined-subclass name=3D"CoreIMSEE.Domain.Customer, CoreIMSEE.Domai= n" table=3D"CUSTOMER"> > =09=09=09<key column=3D"ID" /> > =09=09 > =09=09=09<!--timestamp name=3D"timestamp" column=3D"TS" access=3D"field"/= --> > =09=09=09 > =09=09=09<property name=3D"IsDefault" column=3D"IS_DEFAULT" type=3D"YesNo= " not-null=3D"true" /> > =09=09=09<property name=3D"IsVerified" column=3D"IS_VERIFIED" type=3D"Yes= No" not-null=3D"true" /> > =09=09=09<property name=3D"Name2" column=3D"NAME2" /> > =09=09=09<property name=3D"Name3" column=3D"NAME3" /> > <property name=3D"customerName" formula=3D"(select p.Name from Part= ner p where p.Id =3D Id) + ' ' + Name2 + ' ' + Name3" insert=3D"false" upda= te=3D"false" type=3D"String" access=3D"field" /> > <property name=3D"TaxId" column=3D"TAX_ID" type=3D"String" length= =3D"1" not-null=3D"true" /> > =09=09=09<property name=3D"IsTaxExempt" column=3D"TAX_EXEMPT" type=3D"Yes= No" not-null=3D"true" /> > =09=09=09<property name=3D"TxStatementType" column=3D"TX_STATEMENT_TYPE" = type=3D"String" length=3D"50" not-null=3D"true" /> > =09=09=09<property name=3D"TxStatementFrequency" column=3D"TX_STATEMENT_F= REQ" type=3D"String" length=3D"50" not-null=3D"true" /> > =09=09=09<property name=3D"StorageStatementType" column=3D"STORAGE_STATEM= ENT_TYPE" type=3D"String" length=3D"50" not-null=3D"true" /> > =09=09=09<property name=3D"StorageStatementFrequency" column=3D"STORAGE_S= TATEMENT_FREQ" type=3D"String" length=3D"50" not-null=3D"true" /> > =09=09=09<many-to-one name=3D"BillingAddress" column=3D"BILLING_ADDRESS_I= D" cascade=3D"all"/> > =09=09=09<many-to-one name=3D"ParentCustomer" column=3D"PARENT_ID" /> > <set name=3D"CustomerCrossReference" cascade =3D"all"> > <key column=3D"CUSTOMER_ID"/> > <one-to-many class=3D"CoreIMSEE.Domain.CustomerCrossReference, Co= reIMSEE.Domain"/> > </set> > =09=09=09 > =09=09</joined-subclass> > <!--joined-subclass name=3D"CoreIMSEE.Domain.Vendor, CoreIMSEE.Doma= in" table=3D"VENDOR"> > <key column=3D"ID" /> > =20 > </joined-subclass--> > =09=09=09=09 > =09</class> > </hibernate-mapping> > I want to use property Name from Partner in formula field in Customer. Bu= t this works incorrectly (Excaption occurs) because in generated SQL field = Name translates into <customer_alias>.Name instead of <partner_alias.Name>.= I solved this using (select p.Namr from Partner where p.Id =3D Id) > <property name=3D"customerName" formula=3D"(select p.Name from Part= ner p where p.Id =3D Id) + ' ' + Name2 + ' ' + Name3" insert=3D"false" upda= te=3D"false" type=3D"String" access=3D"field" /> > , but this is nor very effective solution because we can just use Partner= table which is Joined in generated SQL. > SQL: > SELECT customer0_.ID as ID6_, customer0_.IS_VERIFIED as IS_VER3_4_6_, cus= tomer0_.BILLING_ADDRESS_ID as BILLI12_4_6_, customer0_.NAME2 as NAME24_6_, = customer0_.NAME3 as NAME34_6_, customer0_.TX_STATEMENT_FREQ as TX_STA9_4_6_= , customer0_.STORAGE_STATEMENT_TYPE as STORA10_4_6_, customer0_.PARENT_ID a= s PAREN13_4_6_, customer0_.IS_DEFAULT as IS_DEF2_4_6_, customer0_.TAX_EXEMP= T as TAX_EX7_4_6_, customer0_.TX_STATEMENT_TYPE as TX_STA8_4_6_, customer0_= .STORAGE_STATEMENT_FREQ as STORA11_4_6_, customer0_.TAX_ID as TAX_ID4_6_, [= customer0__1_].IS_ACTIVE as IS_ACT8_3_6_, [customer0__1_].NAME as NAME3_6_,= [customer0__1_].ADDRESS_ID as ADDRE10_3_6_, [customer0__1_].IS_CUSTOMER as= IS_CUS6_3_6_, [customer0__1_].VERIFIED_BY as VERIF12_3_6_, [customer0__1_]= .CREATED_BY as CREAT11_3_6_, [customer0__1_].TS as TS3_6_, [customer0__1_].= IS_VENDOR as IS_VEN5_3_6_, [customer0__1_].IS_CLIENT as IS_CLI7_3_6_, [cust= omer0__1_].CODE as CODE3_6_, [customer0__1_].AUTOFAX as AUTOFAX3_6_, custom= er0_.Name + ' ' + customer0_.Name2 + ' ' + customer0_.Name3 as f1_6_, addre= ss1_.ID as ID0_, address1_.STATE_CODE as STATE_CODE0_, address1_.FAX1 as FA= X10_, address1_.STREET2 as STREET20_, address1_.TS as TS0_, address1_.COUNT= RY_CODE as COUNTRY18_0_, address1_.FAX2 as FAX20_, address1_.EMAIL1 as EMAI= L10_, address1_.CITY as CITY0_, address1_.PHONE2 as PHONE20_, address1_.SWI= FT_BIC_CODE as SWIFT_BI8_0_, address1_.ZIP as ZIP0_, address1_.CONTACT1 as = CONTACT10_, address1_.PHONE1 as PHONE10_, address1_.STREET3 as STREET30_, a= ddress1_.STREET1 as STREET10_, address1_.EMAIL2 as EMAIL20_, address1_.CONT= ACT2 as CONTACT20_, address1_.PHONE3 as PHONE30_, state2_.CODE as CODE1_, s= tate2_.DESCRIPTION as DESCRIPT2_1_, state2_.COUNTRY_CODE as COUNTRY_3_1_, c= ountry3_.CODE as CODE2_, country3_.DESCRIPTION as DESCRIPT2_2_, country4_.C= ODE as CODE3_, country4_.DESCRIPTION as DESCRIPT2_3_, user5_.ID as ID4_, us= er5_.EMAIL as EMAIL4_, user5_.PASSWORD_EXPIRES as PASSWORD5_4_, user5_.PHON= E as PHONE4_, user5_.FIRST_NAME as FIRST_NAME4_, user5_.TS as TS4_, user5_.= ROWS_PER_PAGE as ROWS_PE10_4_, user5_.PASSWORD as PASSWORD4_, user5_.PREF_C= ULTURE_NAME as PREF_CU11_4_, user5_.USERNAME as USERNAME4_, user5_.LAST_NAM= E as LAST_NAME4_, user6_.ID as ID5_, user6_.EMAIL as EMAIL5_, user6_.PASSWO= RD_EXPIRES as PASSWORD5_5_, user6_.PHONE as PHONE5_, user6_.FIRST_NAME as F= IRST_NAME5_, user6_.TS as TS5_, user6_.ROWS_PER_PAGE as ROWS_PE10_5_, user6= _.PASSWORD as PASSWORD5_, user6_.PREF_CULTURE_NAME as PREF_CU11_5_, user6_.= USERNAME as USERNAME5_, user6_.LAST_NAME as LAST_NAME5_ FROM CUSTOMER custo= mer0_ inner join PARTNER [customer0__1_] on customer0_.ID=3D[customer0__1_]= .ID left outer join ADDRESS address1_ on customer0_.BILLING_ADDRESS_ID=3Dad= dress1_.ID left outer join STATE state2_ on address1_.STATE_CODE=3Dstate2_.= CODE left outer join COUNTRY country3_ on state2_.COUNTRY_CODE=3Dcountry3_.= CODE left outer join COUNTRY country4_ on address1_.COUNTRY_CODE=3Dcountry4= _.CODE left outer join SYS_USER user5_ on [customer0__1_].VERIFIED_BY=3Duse= r5_.ID left outer join SYS_USER user6_ on [customer0__1_].CREATED_BY=3Duser= 6_.ID WHERE customer0_.ID=3D:ID > Exception details: > System.Data.SqlClient.SqlException: Invalid column name 'Name'. > at System.Data.SqlClient.SqlConnection.OnError(SqlException exception,= Boolean breakConnection) > at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException ex= ception, Boolean breakConnection) > at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserS= tateObject stateObj) > at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCom= mand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopy= Handler, TdsParserStateObject stateObj) > at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() > at System.Data.SqlClient.SqlDataReader.get_MetaData() > at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader = ds, RunBehavior runBehavior, String resetOptionsString) > at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavio= r cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async= ) > at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior c= mdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, D= bAsyncResult result) > at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior c= mdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) > at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior beha= vior, String method) > at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavio= r behavior) > at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() > at NHibernate.Impl.BatcherImpl.ExecuteReader(IDbCommand cmd) > at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, RowSelection s= election, ISessionImplementor session) > 2006-08-05 09:27:00,310 [4940] WARN NHibernate.Util.ADOExceptionReporter= [(null)] - System.Data.SqlClient.SqlException: Invalid column name 'Name'. > at System.Data.SqlClient.SqlConnection.OnError(SqlException exception,= Boolean breakConnection) > at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException ex= ception, Boolean breakConnection) > at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserS= tateObject stateObj) > at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCom= mand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopy= Handler, TdsParserStateObject stateObj) > at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() > at System.Data.SqlClient.SqlDataReader.get_MetaData() > at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader = ds, RunBehavior runBehavior, String resetOptionsString) > at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavio= r cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async= ) > at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior c= mdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, D= bAsyncResult result) > at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior c= mdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) > at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior beha= vior, String method) > at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavio= r behavior) > at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() > at NHibernate.Impl.BatcherImpl.ExecuteReader(IDbCommand cmd) > at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, RowSelection s= election, ISessionImplementor session) > 2006-08-05 09:27:00,310 [4940] ERROR NHibernate.Util.ADOExceptionReporter= [(null)] - Invalid column name 'Name'. > 2006-08-05 09:27:00,310 [4940] DEBUG NHibernate.Impl.BatcherImpl [(null)]= - Closed IDbCommand, open IDbCommands :0 > 2006-08-05 09:27:00,310 [4940] DEBUG NHibernate.Util.ADOExceptionReporter= [(null)] - could not load by id: [CoreIMSEE.Domain.Customer#1] > System.Data.SqlClient.SqlException: Invalid column name 'Name'. > at System.Data.SqlClient.SqlConnection.OnError(SqlException exception,= Boolean breakConnection) > at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException ex= ception, Boolean breakConnection) > at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserS= tateObject stateObj) > at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCom= mand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopy= Handler, TdsParserStateObject stateObj) > at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() > at System.Data.SqlClient.SqlDataReader.get_MetaData() > at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader = ds, RunBehavior runBehavior, String resetOptionsString) > at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavio= r cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async= ) > at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior c= mdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, D= bAsyncResult result) > at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior c= mdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) > at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior beha= vior, String method) > at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavio= r behavior) > at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() > at NHibernate.Impl.BatcherImpl.ExecuteReader(IDbCommand cmd) > at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, RowSelection s= election, ISessionImplementor session) > at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, Query= Parameters queryParameters, Object optionalObject, Object optionalId, Objec= t[] optionalCollectionKeys, Boolean returnProxies) > at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISe= ssionImplementor session, QueryParameters queryParameters, Object optionalO= bject, Object optionalId, Object[] optionalCollectionKeys, Boolean returnPr= oxies) > at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Ob= ject[] values, IType[] types, Object optionalObject, Object optionalID) > at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Ob= ject id, IType identifierType, Object optionalObject, Object optionalIdenti= fier) > at NHibernate.Loader.EntityLoader.Load(ISessionImplementor session, Ob= ject id, Object optionalObject, Object optionalId) > at NHibernate.Loader.EntityLoader.Load(ISessionImplementor session, Ob= ject id, Object optionalObject) > at NHibernate.Persister.NormalizedEntityPersister.Load(Object id, Obje= ct optionalObject, LockMode lockMode, ISessionImplementor session) > 2006-08-05 09:27:00,326 [4940] WARN NHibernate.Util.ADOExceptionReporter= [(null)] - System.Data.SqlClient.SqlException: Invalid column name 'Name'. > at System.Data.SqlClient.SqlConnection.OnError(SqlException exception,= Boolean breakConnection) > at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException ex= ception, Boolean breakConnection) > at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserS= tateObject stateObj) > at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCom= mand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopy= Handler, TdsParserStateObject stateObj) > at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() > at System.Data.SqlClient.SqlDataReader.get_MetaData() > at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader = ds, RunBehavior runBehavior, String resetOptionsString) > at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavio= r cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async= ) > at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior c= mdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, D= bAsyncResult result) > at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior c= mdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) > at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior beha= vior, String method) > at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavio= r behavior) > at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() > at NHibernate.Impl.BatcherImpl.ExecuteReader(IDbCommand cmd) > at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, RowSelection s= election, ISessionImplementor session) > at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, Query= Parameters queryParameters, Object optionalObject, Object optionalId, Objec= t[] optionalCollectionKeys, Boolean returnProxies) > at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISe= ssionImplementor session, QueryParameters queryParameters, Object optionalO= bject, Object optionalId, Object[] optionalCollectionKeys, Boolean returnPr= oxies) > at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Ob= ject[] values, IType[] types, Object optionalObject, Object optionalID) > at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Ob= ject id, IType identifierType, Object optionalObject, Object optionalIdenti= fier) > at NHibernate.Loader.EntityLoader.Load(ISessionImplementor session, Ob= ject id, Object optionalObject, Object optionalId) > at NHibernate.Loader.EntityLoader.Load(ISessionImplementor session, Ob= ject id, Object optionalObject) > at NHibernate.Persister.NormalizedEntityPersister.Load(Object id, Obje= ct optionalObject, LockMode lockMode, ISessionImplementor session) > 2006-08-05 09:27:00,326 [4940] ERROR NHibernate.Util.ADOExceptionReporter= [(null)] - Invalid column name 'Name'. > 2006-08-05 09:27:00,326 [4940] ERROR CoreIMSEE.Core.Persistence.HqlExecut= or [(null)] - Could not execute query > NHibernate.ADOException: Could not execute query ---> NHibernate.ADOExcep= tion: could not load by id: [CoreIMSEE.Domain.Customer#1] ---> System.Data.= SqlClient.SqlException: Invalid column name 'Name'. > at System.Data.SqlClient.SqlConnection.OnError(SqlException exception,= Boolean breakConnection) > at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException ex= ception, Boolean breakConnection) > at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserS= tateObject stateObj) > at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCom= mand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopy= Handler, TdsParserStateObject stateObj) > at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() > at System.Data.SqlClient.SqlDataReader.get_MetaData() > at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader = ds, RunBehavior runBehavior, String resetOptionsString) > at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavio= r cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async= ) > at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior c= mdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, D= bAsyncResult result) > at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior c= mdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) > at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior beha= vior, String method) > at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavio= r behavior) > at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() > at NHibernate.Impl.BatcherImpl.ExecuteReader(IDbCommand cmd) > at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, RowSelection s= election, ISessionImplementor session) > at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, Query= Parameters queryParameters, Object optionalObject, Object optionalId, Objec= t[] optionalCollectionKeys, Boolean returnProxies) > at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISe= ssionImplementor session, QueryParameters queryParameters, Object optionalO= bject, Object optionalId, Object[] optionalCollectionKeys, Boolean returnPr= oxies) > at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Ob= ject[] values, IType[] types, Object optionalObject, Object optionalID) > at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Ob= ject id, IType identifierType, Object optionalObject, Object optionalIdenti= fier) > at NHibernate.Loader.EntityLoader.Load(ISessionImplementor session, Ob= ject id, Object optionalObject, Object optionalId) > at NHibernate.Loader.EntityLoader.Load(ISessionImplementor session, Ob= ject id, Object optionalObject) > at NHibernate.Persister.NormalizedEntityPersister.Load(Object id, Obje= ct optionalObject, LockMode lockMode, ISessionImplementor session) > --- End of inner exception stack trace --- > at NHibernate.Persister.NormalizedEntityPersister.Load(Object id, Obje= ct optionalObject, LockMode lockMode, ISessionImplementor session) > at NHibernate.Impl.SessionImpl.DoLoad(Type theClass, Object id, Object= optionalObject, LockMode lockMode, Boolean checkDeleted) > at NHibernate.Impl.SessionImpl.DoLoadByClass(Type clazz, Object id, Bo= olean checkDeleted, Boolean allowProxyCreation) > at NHibernate.Impl.SessionImpl.InternalLoad(Type clazz, Object id) > at NHibernate.Type.ManyToOneType.ResolveIdentifier(Object id, ISession= Implementor session) > at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImp= lementor session, Object owner) > at NHibernate.Impl.SessionImpl.InitializeEntity(Object obj) > at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList hyd= ratedObjects, Object resultSetId, ISessionImplementor session) > at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, Query= Parameters queryParameters, Object optionalObject, Object optionalId, Objec= t[] optionalCollectionKeys, Boolean returnProxies) > at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISe= ssionImplementor session, QueryParameters queryParameters, Object optionalO= bject, Object optionalId, Object[] optionalCollectionKeys, Boolean returnPr= oxies) > at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryP= arameters queryParameters) > at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryPar= ameters queryParameters, ISet querySpaces, IType[] resultTypes) > at NHibernate.Hql.QueryTranslator.List(ISessionImplementor session, Qu= eryParameters queryParameters) > at NHibernate.Impl.SessionImpl.Find(String query, QueryParameters para= meters) > --- End of inner exception stack trace --- > at NHibernate.Impl.SessionImpl.Find(String query, QueryParameters para= meters) > at NHibernate.Impl.QueryImpl.List() > at CoreIMSEE.Core.Persistence.HqlExecutor.Execute(IHqlQueryFilterState= filterState) in C:\Inetpub\wwwroot\CoreIMSEE.HSBC\CoreIMSEE.Core\Core\Pers= istence\HqlExecutor.cs:line 135 > at CoreIMSEE.Core.Persistence.HqlExecutor.Execute(IFilterState filterS= tate) in C:\Inetpub\wwwroot\CoreIMSEE.HSBC\CoreIMSEE.Core\Core\Persistence\= HqlExecutor.cs:line 73 > 2006-08-05 09:27:00,326 [4940] WARN CoreIMSEE.Core.Persistence.PstInterc= eptor [(null)] - exception is thrown, rolling back a transaction and closin= g current session > NHibernate.ADOException: Could not execute query ---> NHibernate.ADOExcep= tion: could not load by id: [CoreIMSEE.Domain.Customer#1] ---> System.Data.= SqlClient.SqlException: Invalid column name 'Name'. > at System.Data.SqlClient.SqlConnection.OnError(SqlException exception,= Boolean breakConnection) > at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException ex= ception, Boolean breakConnection) > at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserS= tateObject stateObj) > at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCom= mand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopy= Handler, TdsParserStateObject stateObj) > at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() > at System.Data.SqlClient.SqlDataReader.get_MetaData() > at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader = ds, RunBehavior runBehavior, String resetOptionsString) > at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavio= r cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async= ) > at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior c= mdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, D= bAsyncResult result) > at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior c= mdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) > at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior beha= vior, String method) > at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavio= r behavior) > at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() > at NHibernate.Impl.BatcherImpl.ExecuteReader(IDbCommand cmd) > at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, RowSelection s= election, ISessionImplementor session) > at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, Query= Parameters queryParameters, Object optionalObject, Object optionalId, Objec= t[] optionalCollectionKeys, Boolean returnProxies) > at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISe= ssionImplementor session, QueryParameters queryParameters, Object optionalO= bject, Object optionalId, Object[] optionalCollectionKeys, Boolean returnPr= oxies) > at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Ob= ject[] values, IType[] types, Object optionalObject, Object optionalID) > at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Ob= ject id, IType identifierType, Object optionalObject, Object optionalIdenti= fier) > at NHibernate.Loader.EntityLoader.Load(ISessionImplementor session, Ob= ject id, Object optionalObject, Object optionalId) > at NHibernate.Loader.EntityLoader.Load(ISessionImplementor session, Ob= ject id, Object optionalObject) > at NHibernate.Persister.NormalizedEntityPersister.Load(Object id, Obje= ct optionalObject, LockMode lockMode, ISessionImplementor session) > --- End of inner exception stack trace --- > at NHibernate.Persister.NormalizedEntityPersister.Load(Object id, Obje= ct optionalObject, LockMode lockMode, ISessionImplementor session) > at NHibernate.Impl.SessionImpl.DoLoad(Type theClass, Object id, Object= optionalObject, LockMode lockMode, Boolean checkDeleted) > at NHibernate.Impl.SessionImpl.DoLoadByClass(Type clazz, Object id, Bo= olean checkDeleted, Boolean allowProxyCreation) > at NHibernate.Impl.SessionImpl.InternalLoad(Type clazz, Object id) > at NHibernate.Type.ManyToOneType.ResolveIdentifier(Object id, ISession= Implementor session) > at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImp= lementor session, Object owner) > at NHibernate.Impl.SessionImpl.InitializeEntity(Object obj) > at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList hyd= ratedObjects, Object resultSetId, ISessionImplementor session) > at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, Query= Parameters queryParameters, Object optionalObject, Object optionalId, Objec= t[] optionalCollectionKeys, Boolean returnProxies) > at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISe= ssionImplementor session, QueryParameters queryParameters, Object optionalO= bject, Object optionalId, Object[] optionalCollectionKeys, Boolean returnPr= oxies) > at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryP= arameters queryParameters) > at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryPar= ameters queryParameters, ISet querySpaces, IType[] resultTypes) > at NHibernate.Hql.QueryTranslator.List(ISessionImplementor session, Qu= eryParameters queryParameters) > at NHibernate.Impl.SessionImpl.Find(String query, QueryParameters para= meters) > --- End of inner exception stack trace --- > at Spring.Aop.Framework.AbstractMethodInvocation.InvokeJoinpoint() in = C:\dotnet\2005 patched frameworks\Spring.NET 1.1 Preview 2\src\Spring\Sprin= g.Aop\Aop\Framework\AbstractMethodInvocation.cs:line 275 > at Spring.Aop.Framework.AbstractMethodInvocation.Proceed() in C:\dotne= t\2005 patched frameworks\Spring.NET 1.1 Preview 2\src\Spring\Spring.Aop\Ao= p\Framework\AbstractMethodInvocation.cs:line 224 > at CoreIMSEE.Core.Persistence.PstInterceptor.Invoke(IMethodInvocation = invocation) in C:\Inetpub\wwwroot\CoreIMSEE.HSBC\CoreIMSEE.Core\Core\Persis= tence\PstInterceptor.cs:line 80 --=20 This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:05:03
|
[ http://jira.nhibernate.org/browse/NH-558?page=all ] Sergey Koshcheyev updated NH-558: --------------------------------- Fix Version: LATER > Collections recreate, whether entity is dirty or not > ----------------------------------------------------- > > Key: NH-558 > URL: http://jira.nhibernate.org/browse/NH-558 > Project: NHibernate > Type: Improvement > Components: Core > Versions: 1.0.2 > Reporter: Ruurd Boeke > Priority: Minor > Fix For: LATER > Attachments: changes.rar > > When an entity that owns a collection is attached to a session by SaveOrUpdate, the owned collection will be scheduled for recreation, whether the entity is dirty or not. > Since a collection should be treated as a field/value on that entity, it should only be recreated/updated when the entity is dirty. > It is my strong believe that the current NH does not give enough hooks to manage these things. They are especially important when objects are detached and the managed persistent collection types are replaced with custom collections (for instance when the communication layer is webservices, instead of remoting). Developers need a powerful attaching story, which allows them to set the state to exactly what they want, if they have chosen to keep all that state. > OnUpdateVisitor was changed by adding this: > ---------------------------------- > bool dirty = Session.Interceptor.IsCollectionDirty(topentity, collection, type.Role); // have had to add this > if (dirty) > Session.RemoveCollection(persister, Key); > else > { > // wrap our collection into the appropriate type > IPersistentCollection wrapper = type.Wrap(Session, collection); > wrapper.SetCurrentSession(Session); > // if the entity is not dirty, then the collection should not recreate itself > // so the loaded state can be set to exactly the same as the current state. Then our dirty mechanisms will skip recreating the collection > CollectionSnapshot snapshot = new CollectionSnapshot(Key, type.Role, (ICollection) collection); > wrapper.CollectionSnapshot = snapshot; > IEntityPersister entityPersistor = Session.GetPersister(topentity); > IType[] types = entityPersistor.PropertyTypes; > int i = 0; > for (i = 0; i < types.Length; i++) > { > if (types[i].Equals(type)) > break; > } > // the new managed collection needs to be set on the property > entityPersistor.SetPropertyValue(topentity, i, wrapper); > // reattach to the session including the snapshot > Session.ReattachCollection(wrapper, snapshot); > } > ---------------------------------- > This will allow for the default behaviour of recreation, but also give a hook to the developer to determine if the collection is dirty or not. > Better would be to add the possibility to specify the loaded state all together, and have the collectionsnapshot be specified by the programmer. > Attached are the files that were changed. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-11-13 18:04:33
|
[ http://jira.nhibernate.org/browse/NH-216?page=all ] Sergey Koshcheyev updated NH-216: --------------------------------- Fix Version: 1.2.0.CR1 Version: 1.2.0.Beta2 > NHibernate should test for Reflection permission and failover if not present > ---------------------------------------------------------------------------- > > Key: NH-216 > URL: http://jira.nhibernate.org/browse/NH-216 > Project: NHibernate > Type: New Feature > Components: Core > Versions: 1.2.0.Beta2, beta-0.7 > Reporter: Paul Hatcher > Assignee: Paul Hatcher > Fix For: 1.2.0.CR1 > > Currently, Hibernate uses Reflection without checking for permission, this causes SecurityExceptions on ASP.NET servers set to Medium security. > What we should do is check for Reflection permission and raise a MappingException if we do not have it and we are being asked to access other than via public properties/fields. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |