关于JPA namedquery的疑问
我正在尝试执行namedquery关于JPA namedquery的疑问,jpa,ejb-3.0,Jpa,Ejb 3.0,我正在尝试执行namedquery @NamedQuery(name="getEmployeeDetails",query="select e.username,e.email,e.image,e.firstname,e.lastname from Employee e where e.empid=?1") 现在,当我在EJB 3.0会话Bean中执行此查询时,我应该返回的对象是什么。我尝试返回ListIt返回一个向量,该向量会创建一个classcast异常。employee表包含密码等字段以
@NamedQuery(name="getEmployeeDetails",query="select e.username,e.email,e.image,e.firstname,e.lastname from Employee e where e.empid=?1")
现在,当我在EJB 3.0会话Bean中执行此查询时,我应该返回的对象是什么。我尝试返回ListIt返回一个向量,该向量会创建一个classcast异常。employee表包含密码等字段以及其他我不想获取的机密详细信息。因此,我没有使用从employee e中选择e
。
我正在学习JPA,任何人都可以提供帮助。通过对返回的对象调用
.getClass()
来检查返回的类型。我猜这是一个数组
但这并不是使用JPA的好方法。选择整个实体,然后不要使用你不需要的东西。这并不是对性能的影响。下面是一个示例查询,它只获取所需字段,但必须为其创建这样的构造函数 查询:
从Employee e中选择新的package\u name.Employee(e.username、e.email、e.image、e.firstname、e.lastname),其中e.empid=?1代码>
它将返回带有所选字段的员工实体,剩余字段将具有默认值。谢谢投票。但Nayan的答案正是我需要的。无论如何,感谢您抽出时间。