0

我正在为我的应用程序使用 Play framework 1.2.4,但异常似乎与 JPA 有关。

我的 Oracle 10g 数据库中有一个Composite Key,因此我使用@IdClassJPA 操作的方法。

下面是Primary Key课程:

public class ItemDetailsPK implements Serializable {    
public String itemId;
public String itemName;
}

下面是Entity课程:

@Entity
@IdClass(ItemDetailsPK.class)
@Table(name="ITEM_DETAILS")
public class ItemDetails extends GenericModel { 
@Id
@Column(name="ITEM_ID")
public String itemId;
@Id
@Column(name="ITEM_NAME")
public String itemName;

以下是我用于保存项目的方法:

public static void addItem(ItemDetails itemDetails){
        // Saving the Item
        itemDetails.save(); // Throwing Exception
    }
}

异常消息是:

Composite Id Property missing:models.ItemDetails.ItemId (Defined in IdClass ItemDetailsPK)

*注:*

我在调试代码时发现的一件事:当我将鼠标悬停在方法的itemDetails参数上时addItem,我可以在附加的对象中看到这个异常:com.sun.jndi.invocationexception 调用方法时发生了

更新

如果我将整个addItem方法包围在一个try/catch块中,则保存操作工作正常,但异常消息仍会显示在控制台e.printStackTrace();中的 catch 块中。

请让我知道如何解决此异常。

4

0 回答 0