我有一种虚假的问题,我需要做一个@NamedQuery
与其他表,一些简单的事情加入。JPA @NamedQuery有两个表,可能吗?
但在我所有的@NamedQuery
我只处理我的映射对象/表。
举例来说,在我的对象/表映射汽车:
@NamedQuery(name = Cars.GET_AVAILABLE_CARS,
query = "select c.id from Cars c where c.status = (select d.status from CarStatus d where d.color=red)")
我试图使用方法:@SecondaryTables
但现在没有成功。
另外一个工作是将其他表格的所有内容作为参数给出,但我认为这在性能上不会很好。
像:
@NamedQuery(name = Cars.GET_AVAILABLE_CARS, query =
"select c.id from Cars c where c.status = :" + CarStatusParam)
任何提示吗?
在此先感谢
除非您可以使用继承,@SecondaryTable或映射你的对象映射到第二个表(@OneToOne,...),那么你将不得不使用@NamedNativeQuery。为了进一步帮助您,我需要更多地了解表结构以及您正在使用的JPA提供程序(例如,EclipseLink具有可以实现此功能的扩展,并允许您使用存储过程(@NamedStoredProcedureQuery))。 – 2009-12-23 09:00:34
查询有什么问题? Cars和CarSatus如何定义和映射? 'd.color = red'无效。 'd.color ='red''可能是正确的。 – 2013-07-26 06:47:15