Jan*_*all 7 java sql eclipse sqlite jooq
我已经刷新了我的项目,干净地重建了它,用Google搜索/搜索了StackOverflow以查找类似问题,阅读了jOOQ文档,检查了构建输出是否存在潜在问题等.
我<daos>在我的pom.xml中添加了一个标志来生成jOOQ数据库访问对象,因为jOOQ 3.2.0在线手册说 "可以使用daos标志激活DAO生成".根据jOOQ Advanced Codegen 文档将此标志设置为true,不仅会生成DAO,还会生成关系,记录和POJO:
<generator>
...
<generate>
<daos>true</daos>
</generate>
</generator>
Run Code Online (Sandbox Code Playgroud)
在将标志添加到我的pom之前,我有自动生成的记录和关系,但既没有POJO也没有DAO.添加daos标志并重建我的项目后,我还有POJO加上另外两个,但我仍然没有任何DAO.附带的屏幕截图显示了我生成的类.标志添加的类位于蓝色框中.我认为应该有一个名为"daos"的包,包含PurchaseDAO和UserDAO类.
jOOQ DAO 文档没有解释添加标志但未生成DAO的任何情况.该项目的部分重点是学习jOOQ,因此使用jOOQ类手动编码DAO无法解决我的问题.
编辑:我的SQLite从工作3.7.11模式和非工作的解决方案是在这里.
我在你的控制台输出中发现DAO正在跳过,
信息:生成DAO 2014年1月16日下午12:40:45 org.jooq.tools.JooqLogger信息信息:跳过DAO生成:PurchaseDao.java 2014年1月16日下午12:40:45 org.jooq.tools.JooqLogger info INFO :跳过DAO生成:UserDao.java 2014年1月16日下午12:40:45 org.jooq.tools.JooqLogger信息信息:生成的表DAO:总计:212.968ms,+ 1.759ms
之后,cheked代码,然后找到
// [#2573] Skip DAOs for tables that don't have 1-column-PKs (for now)
1287 if (keyColumn == null) {
1288 log.info("Skipping DAO generation", getStrategy().getFileName(table, Mode.DAO));
1289 return;
1290 }
Run Code Online (Sandbox Code Playgroud)