java – JPA:查询根据实体类中定义的外键值获取结果?
发布时间:2020-05-26 01:40:13 所属栏目:Java 来源:互联网
导读:Netbean 6.9从此SQL Server 2008表生成以下JPA实体类: 我想获得具有特定SKU值的所有ProductDescriptors.像这样的东西: SELECT * FROM ProductDescriptors WHERE SKU=something 给定实体类,获得结果的Java代码是什么? 谢谢. @Entity@Table(name = ProductDe
|
Netbean 6.9从此SQL Server 2008表生成以下JPA实体类: 我想获得具有特定SKU值的所有ProductDescriptors.像这样的东西: SELECT * FROM ProductDescriptors WHERE SKU='something' 给定实体类,获得结果的Java代码是什么? 谢谢. @Entity
@Table(name = "ProductDescriptors")
@NamedQueries({
@NamedQuery(name = "ProductDescriptors.findAll",query = "SELECT p FROM ProductDescriptors p"),@NamedQuery(name = "ProductDescriptors.findByDescriptorID",query = "SELECT p FROM ProductDescriptors p WHERE p.descriptorID = :descriptorID"),@NamedQuery(name = "ProductDescriptors.findByLanguageCode",query = "SELECT p FROM ProductDescriptors p WHERE p.languageCode = :languageCode"),@NamedQuery(name = "ProductDescriptors.findByTitle",query = "SELECT p FROM ProductDescriptors p WHERE p.title = :title"),@NamedQuery(name = "ProductDescriptors.findByIsDefault",query = "SELECT p FROM ProductDescriptors p WHERE p.isDefault = :isDefault"),@NamedQuery(name = "ProductDescriptors.findByBody",query = "SELECT p FROM ProductDescriptors p WHERE p.body = :body")})
public class ProductDescriptors implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "DescriptorID")
private Integer descriptorID;
@Basic(optional = false)
@Column(name = "LanguageCode")
private String languageCode;
@Basic(optional = false)
@Column(name = "Title")
private String title;
@Basic(optional = false)
@Column(name = "IsDefault")
private boolean isDefault;
@Basic(optional = false)
@Column(name = "Body")
private String body;
@JoinColumn(name = "SKU",referencedColumnName = "SKU")
@ManyToOne(optional = false)
private Products products;
… 解决方法像这样的东西:@PersistenceContext( unitName = "youPersistenceUnitHere" )
private EntityManager _entityManager;
public List<ProductDescriptors> getProductDescriptorsBySku( String sku ) {
Query query = _entityManager.createQuery( "Select ProductDescriptors from ProductDescriptors pd where pd.products.sku = ?1" );
query.setParameter( 1,sku );
return new ArrayList<ProductDescriptors>( query.getResultList() );
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
