Skip to content

Instantly share code, notes, and snippets.

@AdamBien
Created April 12, 2016 07:48
Show Gist options
  • Save AdamBien/3c1efcbf296ce35fdeedfe5790bba893 to your computer and use it in GitHub Desktop.
Save AdamBien/3c1efcbf296ce35fdeedfe5790bba893 to your computer and use it in GitHub Desktop.
26thAirhacksQ&A.md
@AlbozDroid
Copy link

AlbozDroid commented May 9, 2016

Hi Adam,

How would you tackle from the performance perspective the traversing of JPA relationships.
Here is an example:

Class RiskAssessment{
        ...
        List<Step> steps; // one-to-many
}

Class Step{
        ...
        List<HazardType > hazardTypes; // one-to-many
}

Class HazardType{
        ...
        List<Hazard> hazards; // one-to-many
}

Class Hazard{
        ...
        List<Control> controls; // one-to-many
}

Given a RiskAssessment id, I'd like to load all the Hazard and Control objects associated with it.

List<Hazard> loadAllHazardsAndControls(Integer riskAssessmentId){
......
}

I'd like to access the DB as few times as possible.I know that using nested to loops is not efficient as I would fall into the N+1 query issue.

How would you tackle this problem? Using JPQL queries and chaching query_results? If a second call to the method loadAllHazardsAndControls() occurs with the same Id parameter I would like my query(or my way to load the relationships) to remain completely In Memory.

Thanks in advance!

@abdelmuniem
Copy link

abdelmuniem commented May 9, 2016

Hi Adam Bien,

I want to Develop Java EE Website, with multi-language(Arabic and English) with JSF.

Arabic is read right to left, layout, fonts are different.
Do i have to maintain two different websites, one for Arabic and the second for English ?
http://www.mydomain.com/ar
http://www.mydomain.com/en

Thanks in advance

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment