I have an Entity class:
@Entity
@Table(name="CMC_MAP_SERVER_INFO")
@NamedQuery(name="CmcMapServerInfo.getMapServer", query="SELECT c FROM CmcMapServerInfo c")
public class CmcMapServerInfo implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name="APPLICATION_NAME")
private String applicationName;
private String remarks;
@Column(name="SERVER_IP")
private String serverIp;
@Column(name="SERVER_NAME")
private String serverName;
@Column(name="SERVER_PORT")
private short serverPort;
public CmcMapServerInfo() {
}
I get the following error:
Entity class [class cdot.oss.cmsat.conf.ejb.entity.CmcMapServerInfo] has no primary key specified.
I read online and found out that entities must have a primary key defined. But my table here is a ONE row table only. It just used to save system configuration.
So only queries I will like to do will be to check if the row exists then get that row and update it.
My columns are serverIp, port, name of the server.
How should I proceed to remove this error?
I had this problem as well with a message without PK.
In Oracle, you can use the ROWID column which is always there for any table.
Like this:
@Id
@Column(name="ROWID")
String rowid;
Hope it helps...