File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Soft Skills: The software developer's life manual this week in the Jobs Discussion forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

[JPA - Hibernate] OneToMany without join table

 
Gregg Bolinger
GenRocket Founder
Ranch Hand
Posts: 15302
6
Chrome IntelliJ IDE Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have 2 Objects for this question.

Color.java
--id
--name
--description

--@OneToMany
private List<ProductAttributes> attributes;

ProductAttributes.java
--id
--Color color

JPA is generating the Color and ProductAttributes tables but also it is creating a Color_ProductAttributes table. This table doesn't really need to be there, I don't think. So questions:

1. How to set up the annotations so that this table is not created
2. Will it perform better with/without the join table?
 
Gregg Bolinger
GenRocket Founder
Ranch Hand
Posts: 15302
6
Chrome IntelliJ IDE Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Found my solution here.

Thanks.
 
Rahul Juneja
Ranch Hand
Posts: 425
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What if you want to make it as unidirectional without a join table.

Thanks,
Rahul
 
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper
Posts: 4968
1
Hibernate Spring Tomcat Server
  • 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Indeed, this is actually the default behavior for one to many associations, although it seems a bit weird when a simple foreign key would do.

I've got a simple "Team has many Players" mapping on my website that uses a database like this:




Mapping Many to One and One to Many Associations without a join table

The code is pretty straight forward:







Mapping Many to One and One to Many Associations without a join table

That Join Column annotation is really what does the trick.

-Cameron McKenzie
 
Gregg Bolinger
GenRocket Founder
Ranch Hand
Posts: 15302
6
Chrome IntelliJ IDE Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Cameron,

If you had read the thread you would know that I already stated that I found the solution and linked to the very same page you are linking to.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic