Sql 使用Korma插入db行

Sql 使用Korma插入db行,sql,database,clojure,schema,korma,Sql,Database,Clojure,Schema,Korma,我有一个使用以下模式的DB表: CREATE TABLE users (id SERIAL PRIMARY KEY, username TEXT UNIQUE NOT NULL, password TEXT NOT NULL, email TEXT NOT NULL, admin BOOLEAN NOT NULL, active BOOLEAN NOT NULL, created DATE NOT NULL); 我通过定义users实体来使用Korma (defenti

我有一个使用以下模式的DB表:

CREATE TABLE users
(id SERIAL PRIMARY KEY,
  username TEXT UNIQUE NOT NULL,
  password TEXT NOT NULL,
  email TEXT NOT NULL,
  admin BOOLEAN NOT NULL,
  active BOOLEAN NOT NULL,
  created DATE NOT NULL);
我通过定义
users
实体来使用Korma

(defentity users
           (has-many tips))
我尝试使用以下函数为值设定种子:

(defn make-user-vals [username pass email]
  "Creates an active, non-admin user"
  {:username username, 
   :password (crypt/encrypt pass), 
   :email email,
   :admin false,
   :active true,
   :created (java.util.Date.)})

(defn seed-users! []
  (insert ent/users
    (values 
      (users/make-user-vals "admin" "f00b4r" "foo@example.com"))))
(种子用户!)
失败,并显示以下消息(对我来说不是真正的信息):

Failure to execute query with SQL:
INSERT INTO users (username, password, email, admin, active, created) VALUES (?, ?, ?, FALSE, TRUE, ?)  ::  [admin $2a$10$AVdxz9HvYOyszhcXVrTVi.oBcbz9EZVfGZYNUI3iDMb0hj3igvpEy foo@example.com #<Date Wed Feb 15 21:59:10 CET 2012>]
ClassCastException java.lang.RuntimeException cannot be cast to java.sql.SQLException  clojure.java.jdbc/print-sql-exception (jdbc.clj:350)
无法使用SQL执行查询:
在用户(用户名、密码、电子邮件、管理员、活动、已创建)中插入值(?、?假、真):[admin$2a$10$AVdxz9HvYOyszhcXVrTVi.oBcbz9EZVfGZYNUI3iDMb0hj3igvpEyfoo@example.com #]
ClassCastException java.lang.RuntimeException无法强制转换为java.sql.SQLException clojure.java.jdbc/print-sql-exception(jdbc.clj:350)
知道为什么吗

(如果这有帮助,查询数据库是可行的,因此看起来不像是连接问题)


谢谢

您需要使用
java.sql.Date
而不是
java.util.Date

(java.sql.Date. 2012 2 16)

顺便说一句,您可能希望作为时间处理解决方案进行调查。Java的标准时间和日期相关类是完全疯狂的(本期就证明了这一点)。

您可以尝试在不加密密码的情况下插入吗?我刚插入了,没有任何区别。谢谢,成功了!我会记住
clj时间
库。