KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have built an application using JPA in an EJB container. Here's my code @PersistenceContext(unitName = "damate-pu") private EntityManager em; @Override public Workspace find(String username, String path) { CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); CriteriaQuery<Workspace> criteriaQuery = criteriaBuilder.createQuery(Workspace.class); Root<Workspace> from = criteriaQuery.from(Workspace.class); Predicate condition = criteriaBuilder.equal(from.get("Username"), username); Predicate condition2 = criteriaBuilder.equal(from.get("Path"), path); Predicate condition3 = criteriaBuilder.and(condition, condition2); criteriaQuery.where(condition3); Query query = em.createQuery(criteriaQuery); return (Workspace) query.getSingleResult(); } When I try to run this method from a webservice I get the following error: java.lang.IllegalArgumentException: The attribute [Username] from the managed type.... What can be the problem? I think I have a problem with from.get("Username") ... What do you think? And how to fix it? Edit: Workspace.java package com.ubb.damate.model; import java.io.Serializable; import javax.persistence.*; import java.util.Date; import java.util.Set; /** * The persistent class for the workspace database table. * */ @Entity @Table(name="workspace") public class Workspace implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name="WorkspaceId", unique=true, nullable=false) private int workspaceId; @Temporal( TemporalType.DATE) @Column(name="CreationDate", nullable=false) private Date creationDate; @Lob() @Column(name="Path", nullable=false) private String path; @Column(name="Username", nullable=false, length=20) private String username; //bi-directional m
Tags (comma-separated)
Save Edits
Cancel