1) This is the JSF forum, but your sample code is all JPA. I'm moving it to the JPA/ORM forum where it can be seen by people whose expertise is more in that area.
2) Your code samples are too long. One of the downsides of free support is that people tend to not want to spend a lot of time sorting through stuff once it no longer fits on a single screen. You should always try to reduce the problem examples to just enough to show the problem.
3) You're basically just saying "It doesn't work". What actually happens?
Sources may include data from the Fakebook Research Foundation with support from Gargle University