Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Entity
- @Table(name = "languages")
- public class Language {
- @Getter
- @Setter
- @NotNull
- @Column(name = "code")
- private String code;
- @Getter
- @Setter
- @ManyToOne(cascade = CascadeType.ALL)
- @JoinColumn(name = "translation_id")
- private Translation translations = new Translation();
- }
- @Entity
- @Table(name = "translations")
- public class Translation {
- @ElementCollection
- @MapKeyColumn(name="locale")
- @Column(name="description")
- @CollectionTable(name="translations_values")
- private Map<String, String> strings = new HashMap<>();
- public Translation() {
- }
- public Translation(Map<String, String> map) {
- this.strings = map;
- }
- public void setString(String locale, String text) {
- strings.put(locale, text);
- }
- public String getString(String locale) {
- String returnValue = strings.get(locale);
- return (returnValue != null ? returnValue : null);
- }
- }
- select o from Language o join o.translations t join t.strings s where key(s) = 'it' and value(s) = 'Italiano'
- select o from Language o join o.translations t join t.strings s where key(s) = 'it' and value(s) = 'Italiano' order by value(s)
- Local Exception Stack:
- Exception [EclipseLink-6168] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.QueryException
- Exception Description: Query failed to prepare, unexpected error occurred: [java.lang.NullPointerException].
- Internal Exception: java.lang.NullPointerException
- Query: ReadAllQuery(referenceClass=Language jpql="select o from Language o join o.translations t join t.strings s where key(s) = 'it' and value(s) = 'Italiano' order by value(s)")
- at org.eclipse.persistence.exceptions.QueryException.prepareFailed(QueryException.java:1589)
- at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:680)
- at org.eclipse.persistence.queries.ObjectLevelReadQuery.checkPrepare(ObjectLevelReadQuery.java:901)
- at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:613)
- at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:194)
- at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:116)
- at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:102)
- at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:86)
- at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1603)
- Caused by: java.lang.NullPointerException
- at org.eclipse.persistence.mappings.ForeignReferenceMapping.getOrderByNormalizedExpressions(ForeignReferenceMapping.java:2456)
- at org.eclipse.persistence.internal.expressions.SQLSelectStatement.normalizeOrderBy(SQLSelectStatement.java:1614)
- at org.eclipse.persistence.internal.expressions.SQLSelectStatement.normalize(SQLSelectStatement.java:1403)
- at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.buildNormalSelectStatement(ExpressionQueryMechanism.java:549)
- at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.prepareSelectAllRows(ExpressionQueryMechanism.java:1720)
- at org.eclipse.persistence.queries.ReadAllQuery.prepareSelectAllRows(ReadAllQuery.java:813)
- at org.eclipse.persistence.queries.ReadAllQuery.prepare(ReadAllQuery.java:744)
- at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:661)
- ... 9 more
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement