[ https://issues.apache.org/jira/browse/OPENJPA-152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476813 ]
Patrick Linskey commented on OPENJPA-152: ----------------------------------------- +1 to throwing an exception rather than logging. > Warn or throw an exception when a persistence unit has multiple named queries > with the same name > ------------------------------------------------------------------------------------------------ > > Key: OPENJPA-152 > URL: https://issues.apache.org/jira/browse/OPENJPA-152 > Project: OpenJPA > Issue Type: Improvement > Components: jpa, logging, query > Reporter: Dain Sundstrom > Priority: Minor > Fix For: 0.9.7 > > > The JPA spec makes it quite easy for uses to create multiple named queries > with the same name. The problem stems from named queries being declared as > part of an entity either via annotations or nested xml, but the name space > for these queries is not scoped to the entity but scoped to the whole > persistence unit. This problem is compounded due to the ease at which the > persistence unit is easily expanded with orm.xml files and with annotated > beans. > I propose that we throw a deployment exception when the combined entity > mapping xml files and listed classes contain multiple named queries with the > same name. If after deployment, we discover another annotate bean that > creates a conflict, we should log a ERROR and take extra cautions to not > override the existing in place query with the newly discovered one, as this > could drastically change the behavior of an application at runtime. > Alternatively, we could just log warnings, but I would prefer a deployment > exception as it guarantees I'm not running with a randomly selected set or > queries. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.