Table 使用 javalite 未发现异常

Table not found exception using javalite

所以我有一个非常简单的 table 我在 SQL 使用 h2

CREATE TABLE USERS(
    username varchar(255) NOT NULL,
    password varchar(255),

); 

我正在尝试使用 javalite 添加一个条目,所以我按照网站上的说明做了这个。

package DBTEST;

import org.javalite.activejdbc.Base;

public class makeDB {
    public static void main(String[] args) {
        Base.open("org.h2.Driver", "jdbc:h2:./test", "sa", "");

        User e = new User();
        e.set("username", "John");
        e.set("password", "Doe");
        e.saveIt();


        User.findAll().dump();
        Base.close();
    }
}

我有 class 个用户 table

package DBTEST;

import org.javalite.activejdbc.Model;
import org.javalite.activejdbc.annotations.Table;

@Table("USERS")
public class User extends Model {
}

我一直收到这个异常

Exception in thread "main" org.javalite.activejdbc.DBException: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USERS" not found; SQL statement:

有人可以帮忙吗?我不知道为什么会这样

  • 首先,您的 SQL 在 "CREATE USERS" 语句中多了一个逗号。错误显示:"able "USERS“未找到”- 这意味着您根本没有 table!

  • 其次,table定义中少了一个id,请看https://javalite.io/surrogate_primary_keys

  • 第三,我创建了一个简单的示例项目并在其中添加了您的代码。它按预期工作。该项目可以在这里找到:https://github.com/javalite/h2-example

运行 这个程序的输出是这样的:

Model: activejdbc.examples.simple.User, table: 'users', attributes: {ID=1, PASSWORD=Doe, USERNAME=John}

这完全符合预期。

此外,@Table 注释不是必需的:https://javalite.io/english_inflections