Skip to main content

[jpa-spec users] [jsr338-experts] Re: @Convert precedence

  • From: Kevin Sutter <sutter@...>
  • To: jsr338-experts@...
  • Subject: [jpa-spec users] [jsr338-experts] Re: @Convert precedence
  • Date: Thu, 22 Aug 2013 11:42:15 -0500
  • List-id: <jsr338-experts.jpa-spec.java.net>

Hi,
In section 11.1.10, there is this statement:

"The Convert annotation may be applied to an entity class that extends a 
mapped superclass to specify
or override a conversion mapping for an inherited basic or embedded 
attribute."

It's close to clarifying your (2) example, except you are not using a 
mapped superclass.  But, it does indicate that the @Convert at the Entity 
level overrides the embedded attribute...

----------------------------------------------------------------------------------------------------------------------------------------------------------------
Kevin Sutter 

 

gordon yorke <gordon.yorke@...> wrote on 08/22/2013 09:53:14 AM:

> From: gordon yorke <gordon.yorke@...>
> To: jsr338-experts@..., 
> Date: 08/22/2013 09:55 AM
> Subject: [jsr338-experts] Re: @Convert precedence
> 
> I do not think it applies in this case either, I was just pointing out 
> the only place in the specification that mentions configuring a 
> duplicate @Convert on the same attribute.  The only other reference to 
> multiple converters for the same attribute is in the 
> @Converter(autoApply) flag and in that case an @Convert is required to 
> specify which converter is used.
> 
> --Gordon
> 
> On 22/08/2013 11:45 AM, Steve Ebersole wrote:
> > Ah, I found it...  11.1.11 Converts Annotation
> >
> > I am not sure that is really talking about the situation I described, 
> > or maybe it is just misplaced.  My examples are not using @Converts.
> >
> >
> > On Thu 22 Aug 2013 09:43:33 AM CDT, Steve Ebersole wrote:
> >> Thanks for the reply Gordon.  Where did you find that in the spec?  I
> >> did a search on that quote and found no matches.
> >>
> >> On Thu 22 Aug 2013 09:38:54 AM CDT, gordon yorke wrote:
> >>> Hello Steve,
> >>>     The specification says in reference to @Converts that "Multiple
> >>> converters must not be applied to the same basic attribute." but in
> >>> this case it makes sense to have the convert on the Embedded 
attribute
> >>> override the convert within the Embeddable.
> >>> --Gordon
> >>>
> >>> On 22/08/2013 11:09 AM, Steve Ebersole wrote:
> >>>> I could not find mention of this in the spec so wanted to start a
> >>>> discussion within the group.  The concern is what to do when 
multiple
> >>>> @Convert definitions can apply to a given attribute.  If the spec
> >>>> does cover this, I apologize; if so, could someone point out the
> >>>> section?
> >>>>
> >>>>
> >>>> 2 examples:
> >>>>
> >>>> 1) non-path
> >>>>
> >>>> @Entity
> >>>> @Convert( attributeName="firstName", converter=FNameConverter.class 
)
> >>>> class Person{
> >>>>     ...
> >>>>     @Convert( converter=FirstNameConverter.class )
> >>>>     String firstName;
> >>>> }
> >>>>
> >>>>
> >>>> 2) path
> >>>>
> >>>> @Entity
> >>>> @Convert( attributeName="homeAddress.city",
> >>>> converter=HomeAddressCityConverter.class )
> >>>> class Person {
> >>>>     ...
> >>>>     @Embedded
> >>>>     Address homeAddress;
> >>>> }
> >>>>
> >>>> @Embeddable
> >>>> class Address  {
> >>>>     ...
> >>>>     @Convert( converter=CityConverter.class )
> >>>>     String city;
> >>>> }
> >>>>
> >>>>
> >>>> In (2) I think it is clearly better to apply
> >>>> HomeAddressCityConverter.  But in (1) I think it is less clear cut;
> >>>> there, personally, I'd think FirstNameConverter would be applied.
> >>>> But not sure it makes sense to have different precedence rules.
> >>>
> 


[jpa-spec users] [jsr338-experts] @Convert precedence

Steve Ebersole 08/22/2013

[jpa-spec users] [jsr338-experts] Re: @Convert precedence

gordon yorke 08/22/2013

[jpa-spec users] [jsr338-experts] Re: @Convert precedence

Steve Ebersole 08/22/2013

[jpa-spec users] [jsr338-experts] Re: @Convert precedence

Steve Ebersole 08/22/2013

[jpa-spec users] [jsr338-experts] Re: @Convert precedence

gordon yorke 08/22/2013

[jpa-spec users] [jsr338-experts] Re: @Convert precedence

Kevin Sutter 08/22/2013

[jpa-spec users] [jsr338-experts] Re: @Convert precedence

Steve Ebersole 08/22/2013

[jpa-spec users] [jsr338-experts] Re: @Convert precedence

gordon yorke 08/22/2013

[jpa-spec users] [jsr338-experts] Re: @Convert precedence

Linda DeMichiel 08/22/2013

[jpa-spec users] [jsr338-experts] Re: @Convert precedence

Steve Ebersole 08/30/2013

[jpa-spec users] [jsr338-experts] Re: @Convert precedence

Kevin Sutter 08/30/2013
 
 
Close
loading
Please Confirm
Close