0

My Embeddable class is like below.

`@Embeddable
public class AddressBean {
    private String streetAddress;
    private String address1;
    private String address2;
    private String cityName;
    private String stateName;
    private String zipCode;
}`

And Embedded attributes are

@Embedded
    @AttributeOverrides({
        @AttributeOverride(name="streetAddress", column=@Column(name="APPLALTSTREETADDRESS")),
        @AttributeOverride(name="address1", column=@Column(name="APPLALTADDRESS1")),
        @AttributeOverride(name="address2", column=@Column(name="APPLALTADDRESS2")),
        @AttributeOverride(name="cityName", column=@Column(name="APPLALTCITYADDRESS")),
        @AttributeOverride(name="stateName", column=@Column(name="APPLALTSTATEADDRESS")),
        @AttributeOverride(name="zipCode", column=@Column(name="APPLALTSTATEZIP"))
    })
    private AddressBean altAddress;

    @Embedded
    @AttributeOverrides({
        @AttributeOverride(name="streetAddress", column=@Column(name="APPLSTREETADDRESS")),
        @AttributeOverride(name="address1", column=@Column(name="APPLADDRESS1")),
        @AttributeOverride(name="address2", column=@Column(name="APPLADDRESS2")),
        @AttributeOverride(name="cityName", column=@Column(name="APPLCITYADDRESS")),
        @AttributeOverride(name="stateName", column=@Column(name="APPLSTATEADDRESS")),
        @AttributeOverride(name="zipCode", column=@Column(name="APPLSTATEZIP"))
    })
    private AddressBean applAddress;

    @Embedded
    @AttributeOverrides({
        @AttributeOverride(name="streetAddress", column=@Column(name="APPLALTDIRECTION1ADDRESS")),
        @AttributeOverride(name="address1", column=@Column(name="APPLESIGNADDRESS1")),
        @AttributeOverride(name="address2", column=@Column(name="APPLESIGNADDRESS2")),
        @AttributeOverride(name="cityName", column=@Column(name="APPLESIGNCITYADDRESS")),
        @AttributeOverride(name="stateName", column=@Column(name="APPLESIGNSTATEADDRESS")),
        @AttributeOverride(name="zipCode", column=@Column(name="APPLESIGNSTATEZIP"))
    })
    private AddressBean esignAddress;

I want to store streetAddress for altAddress and applAddress but not for esignAddress. It means, From the above code, I need to modify statement

`@AttributeOverride(name="streetAddress", column=@Column(name="APPLALTDIRECTION1ADDRESS")),`

Please help me how to achieve this. Thanks in advance.

Thirupathig
  • 166
  • 9
  • Are you asking us how to delete text in your editor? What is the problem you are experiencing? – dg99 Jan 13 '15 at 23:00
  • In the above code, it inserts all 6 attributes for 3 objects in the DB(when using session.save() method). That is the default mechanism. But I don't want streetAddress to be stored for esignAddress(which is APPLALTDIRECTION1ADDRESS in the code). If I remove streetAddress AttributeOverride statement above esignAddress, It will be stored as streetAddress column in the DB – Thirupathig Jan 14 '15 at 14:02
  • 1
    Split `AddressBean` into two embeddables, i.e. `StreetAddressBean` and `DefaultAddressBean` – wypieprz Jan 15 '15 at 23:38
  • @wypieprz thanks.. didn't notice that – Thirupathig Jan 16 '15 at 20:22

0 Answers0