otrzymuję wyjątek, gdy moja nazwa kolumna zawiera myślnik „-”Junit HSQLDB - użytkownik nie ma uprawnień lub przedmiotu nie znaleziono - THIS_.oh-ordnbr
Entity : this is the entity name.
@Entity
@Table(name = "RequestHeader")
public class RequestHeader implements Serializable {
....
....
@Column(name = "`oh-ordnbr`")
private Integer ohOrdnbr;
definicja schematu: To jest kwerenda dla tworzenia schematu .
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)
);
Błąd znajduje się poniżej:
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)
Może ktoś mi pomóc w ustaleniu tego?
Czy sprawdziłeś dokumentację HSQLDB? Myślę, że nazwy kolumn w podwójnych cudzysłowach mogą uwzględniać wielkość liter. Czy naprawdę potrzebujesz łączników? Zmienilbym je na podkreślenia, czyli standard SQL i tak ... – RudolphEst
@RudolphEst Prawidłowo. Proszę zaksięgować jako odpowiedź. Również THIS_ nie należy używać jako nazwy tabeli. – fredt