THIS_.oh-ordnbr "-"JUnit HSQLDB - Kullanıcı ayrıcalığı yoksun veya nesne bulunamadı - Benim sütun adı tire içerdiğinde bir istisna alıyorum
Entity : this is the entity name.
@Entity
@Table(name = "RequestHeader")
public class RequestHeader implements Serializable {
....
....
@Column(name = "`oh-ordnbr`")
private Integer ohOrdnbr;
şema tanımlama: Bu şema oluşturma için sorgu .
CREATE MEMORY TABLE PUB.REQUESTHEADER(
REQUESTID INTEGER,
IMUSERID INTEGER,
REQUESTDATE DATE,
REQUESTTIME INTEGER,
REQUESTSTATUS VARCHAR(19),
REQUESTTYPE VARCHAR(22),
HEADERINSTRUCTIONS VARCHAR(5150),
DATEFORMAT VARCHAR(20),
TIMEFORMAT VARCHAR(20),
LANGUAGEID INTEGER,
"OH-ORDNBR" INTEGER,
"OH-TRCNSTAMP" INTEGER,
ISPICKUPLIST BIT(1),
CONSTRAINT "RQH-1" PRIMARY KEY(REQUESTID)
);
hata
aşağıdaki gibidir:Exception Stack: Error message which I have received by running the Junit.
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: THIS_.oh-ordnbr
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.ExpressionColumn.checkColumnsResolved(Unknown Source)
at org.hsqldb.QueryExpression.resolve(Unknown Source)
at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
at org.hsqldb.ParserCommand.compileStatement(Unknown Source)
at org.hsqldb.Session.compileStatement(Unknown Source)
at org.hsqldb.StatementManager.compile(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
bazı kimse bu sabitleme bana yardımcı olabilir mi?
HSQLDB belgelerini kontrol ettiniz mi? Çift tırnaktaki sütun adlarının büyük/küçük harfe duyarlı olabileceğini düşünüyorum. Gerçekten tirelere mi ihtiyacınız var? Onları alt çizgilere dönüştürürdüm, bu zaten SQL standardıdır ... – RudolphEst
@RudolphEst Doğru. Lütfen cevap olarak gönderin. Ayrıca THIS_ tablo adı olarak kullanılmamalıdır. – fredt