我正在使用Netbeans 7.4来构建我的应用程序。而且,我正在使用嵌入式java db。现在,我想从我的数据库中生成我的数据库中的JPA实体。
但是,当我
rightclick my package -> New -> Entity classes from database
,选择我的数据库,Available Tables
甚至没有显示ANK
架构中的一个表。
我注意到的另一个奇怪的事情是,当我从Netbeans服务选项卡连接我的数据库时,会出现两个模式选项。首先,APP
以粗体显示,第二个Other schemas
。架构APP
没有任何表。这些表位于ANK
中的Other schemas
架构中。
有谁可以告诉我哪里可能出错?
我甚至不知道我是否应该使用java db,或者我应该选择非常吸引人的h2,HSQL或者像mysql这样的成熟数据库。
答案 0 :(得分:0)
Nebeans与Derby的界面有点棘手。
创建新数据库时,默认情况下仅创建APP模式(SYS *模式除外)。
如果在未指定用户名的情况下连接到数据库,则默认架构将变为APP
以用户john身份连接时,默认架构变为john,但未创建架构john,直到在其中创建SQL对象。
这意味着如果您在Netbeans中创建与Derby的初始连接作为用户john,则无法在下拉菜单中选择john作为连接的架构,因为尚未创建它。如果您随后选择另一个模式,创建表,断开连接然后创建另一个连接,您将能够选择john作为模式,并且您将找到使用先前连接创建的表。
即使您在第一个连接的下拉菜单中选择了不同的架构,也会创建一个与您连接的用户名同名的架构,并在开始执行create table语句之前将其设置为默认值。