:

, .
, , , "" Review ( , , n , m CustomerReviews , Review ). , ReviewTemplate:
ReviewTemplate / , . / ReviewReviewTemplate , Course ReviewTemplate- a
Course Review, ReviewTemplate Review - Java -
Review, , ReviewTemplate.
? , , - ReviewTemplate. , Review ReviewTemplates? ReviewTemplate Reviews -? , Review, Reviews .
:
? ReviewTemplate . .
, ReviewTemplate "" Review, ( ) feedbackScore. Review, :
, ReviewTemplate CustomerReviewLines.
, , , 1 4 . 4 "", , 4 , .
.
, JPA, db...?
JPA , , Java (, . fooobar.com/questions/149406/...). :
- SQL DDL , ,
- Java,
@entity. id ( ) @id @OneToMany @ManyToOne ( ).
, JPA, , :
ReviewTemplate template = course.getReviewTemplate();
Review review = new Review();
review.setCourse(course);
review.setRuleOne(template.getRuleOne());
EntityManager em =
em.persist(review);
for (Customer customer : customers) {
CustomerReview cr = new CustomerReview();
cr.setReview(review);
cr.setCustomer(customer);
cr.setFeedbackScore(template.getDefaultFeedbackScore());
em.persist(cr);
EJB Bean, , .
2:
( , )
, reviewtemplate, , db , . , ( ) (), ,
, , , ReviewLine. , , Customer , CustomerReview. , ReviewLine - , Customer, Customer .
ER/Class.

, - :
ReviewLineTemplate ReviewTemplatea Review ( ReviewTemplate), ReviewLineTemplates ReviewLines. :
- a
Review ReviewLines ReviewTemplate ReviewLineTemplate ReviewTemplate ReviewLineTemplate , , Customer. CustomerFeedbackScore ReviewLineTemplate, ReviewLineTemplate , Customer, .
FeedbackScore ReviewLine CustomerReview.
, , "", . "" :
- 10 ()
ReviewTemplate Review, reviewLine1 reviewLine10. - 10 ()
CustomerReview, feedbackScore1 feedbackScore10. ReviewTemplateLine, ReviewLine CustomerReviewLine
. YMMV