簡體   English   中英

需要JPA內部聯接查詢語法幫助

[英]JPA inner join query syntax help required

我想知道你們是否可以幫助我嘗試編寫的OpenJPA查詢。
我有一個ItemEntity ...

@Entity(name = "item")
public class ItemEntity implements java.io.Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "itemid")
    @TableGenerator(name = "itemid", table = "items_sequence", allocationSize = 1)
    private Long id;
    @ManyToOne
    private ImportPayloadEntity importPayloadEntity;

還有一個ImportPayloadEntity ...

@Entity(name = "import_payload")
public class ImportPayloadEntity implements java.io.Serializable{
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "importpayloadid")
    @TableGenerator(name = "importpayloadid", table = "import_payload_sequence", allocationSize = 1)
    private Long id;
    @Column(name = "PROCESSED_IND")
    private String processedInd;

我試圖從我的項目實體中進行選擇,然后再加入到我的導入有效負載實體中,以確保processingInd等於'N'。

我不太了解正確的語法。 我已經嘗試了幾件事,但這是我最近的嘗試。

@NamedQuery(name = "queryItems", query = "SELECT c1, c2 FROM item c1 INNER JOIN c1.importPayloadEntity c2 WHERE c2.processedInd='N'")

這給了我...

Unknown column 't0.IMPORTPAYLOADENTITY_ID' in 'on clause' {prepstmnt 1719904819 SELECT t0.id, t1.id, t1.FILENAME, t1.LOAD_DATETIME, t1.IMPORT_PAYLOAD_BODY, t1.IMPORT_PAYLOAD_TYPE, t1.PROCESSED_DATETIME, t1.PROCESSED_IND FROM item t0 INNER JOIN import_payload t1 ON t0.IMPORTPAYLOADENTITY_ID = t1.id WHERE (t1.PROCESSED_IND = ?)} [code=1054, state=42S22]

感謝您的幫助。

您可以嘗試select i from Item i where i.importPayloadEntity.processedInd = 'N'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM