Daniel Keir Haywood created ISIS-2660:
-----------------------------------------
Summary: For starter apps, remove persistence.xml (we can get by
without it).
Key: ISIS-2660
URL: https://issues.apache.org/jira/browse/ISIS-2660
Project: Isis
Issue Type: Improvement
Affects Versions: 2.0.0-M5
Reporter: Daniel Keir Haywood
Assignee: Daniel Keir Haywood
Fix For: 2.0.0-M6
its presence seemed to mask out an issue with h2 and prototyping, where DN
failed to create the tables due to no schema.
In the entity, we had:
{code:java}
@PersistenceCapable(schema="organisation") {code}
and in application.properties, we declared :
{code:java}
isis.persistence.schema.auto-create-schemas=organisation {code}
However, lower-case schema seemingly aren't supported by h2; these are created
upper case, at least.
So, the above doesn't work, we see this error when try to interact with table:
{code:java}
An exception was thrown while adding/validating class(es) : Schema
"organisation" not found; SQL statement:
CREATE TABLE "organisation"."Currency"
(
"id" BIGINT NOT NULL IDENTITY,
"name" VARCHAR(50) NOT NULL,
"reference" VARCHAR(24) NOT NULL,
"version" BIGINT NOT NULL,
CONSTRAINT "Currency_PK" PRIMARY KEY ("id")
) [90079-200]
org.h2.jdbc.JdbcSQLSyntaxErrorException: Schema "organisation" not found; SQL
statement:
CREATE TABLE "organisation"."Currency"
(
"id" BIGINT NOT NULL IDENTITY,
"name" VARCHAR(50) NOT NULL,
"reference" VARCHAR(24) NOT NULL,
"version" BIGINT NOT NULL,
CONSTRAINT "Currency_PK" PRIMARY KEY ("id")
) [90079-200]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:576)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:429)
at or {code}
The fix is to make everything upper case.
{code:java}
@PersistenceCapable(schema="ORGANISATION") {code}
Now, for a while it looked like the persistence-unit name mattered, but it was
a red herring; everything works with or without this file.
{code:java}
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
<persistence-unit name="organisation">
</persistence-unit>
</persistence>
{code}
So, to avoid chasing phantoms, let's just delete this file.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)