Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 432307
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T20:03:41+00:00 2026-05-12T20:03:41+00:00

I have a Voucher – POJO mapped to two tables. The first mapping assigns

  • 0

I have a Voucher – POJO mapped to two tables. The first mapping assigns an entity name “voucherA” and maps the POJO to TableA. The second mapping uses “voucherB” as entity name and maps the POJO to TableB.

Now i have also a customer POJO mapped to TableC. This POJO references vouchers in a list.

<list name="vouchers" table="TableC_vouchers">
  <key column="pid"/>
  <list-index column="position" base="0"/>

  <!-- how to do that right -->
  <many-to-many column="voucher_id" entity-name="voucherB"/>
</list>

How do i properly map a list of many-to-many associations from customers to vouchers so that if a customer POJO is persisted, the Voucher entities are persisted to TableB if they don’t exist there, instead of TableA? Can this be done? If not, what would a workaround look like so that vouchers used by customers are persisted to tableB? (TableA contains only available Vouchers, not the used ones)

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T20:03:42+00:00Added an answer on May 12, 2026 at 8:03 pm

    Your core model seems wrong. Your Voucher entity presumably has many attributes – do ALL of them change after it’s used by a Customer? I doubt that. And yet, you’re duplicating them in your A and B tables which means your schema is not normalized.

    “Available” voucher and “used” voucher are not (or should not be) the same entity. I would instead suggest that you create a new entity for UsedVoucher that would link to both Voucher as many-to-one and Customer as many-to-one and contain only “changed” properties of Voucher (if any). So,

    Voucher(id, other attributes) // doesn't change from what you have now
    Customer (id, other attributes) // doesn't change except for many-to-many; see below
    UsedVoucher(id,
     voucher, // what Voucher was used by that customer
     customer, // what Customer has used that voucher
     changed voucher attributes, // if any
     additional attributes // if needed, such as date/time when voucher was used
    )
    

    Your “many-to-many” on Customer will become “one-to-many” (collections of Vouchers used by this customer) IF you need it as maintainable property; otherwise it’s easily retrievable via query.

    You can’t physically delete from Vouchers table under this scenario, though (unless Voucher in question was never used). You’ll have to do a logical delete instead.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have two tables, arrc_PurchActivity and arrc_Voucher. The purchase activity table contains multiple records
I have 2 tables: 1. Employees 2. Vouchers Employees table has a single primary
Have had to write my first proper multithreaded coded recently, and realised just how
Let's say I have a class Voucher: public class Voucher { public Guid Id
I have a form with markup like this.... Which voucher did you cut out
Have just started using Google Chrome , and noticed in parts of our site,
Have you ever seen any of there error messages? -- SQL Server 2000 Could
Have you guys had any experiences (positive or negative) by placing your source code/solution
Have just started using Visual Studio Professional's built-in unit testing features, which as I
Have you used VS.NET Architect Edition's Application and System diagrams to start designing a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.