Hibernate:反向生成的pojo有两个的问题
2013-12-29 19:57
405 查看
Hibernate:反向生成的pojo有两个的问题
前言:利用Myeclipse反向创建POJO,一些表创建Xxx.java和Xxx.hbm.xml两个文件;但是有些表创建Ttt.java\TttId.java\Ttt.hbm.xml三个文件。一直比较无语,在MyeclipseDatabase Explorer和hibernate.cfg.xml中寻找很长时间原因。
说明一:
表的配置文件中没有指定主键,
Hibernate默认把表中所有字段认为是联合主键了。
说明二:
在演示hibernate练习的时候,我在生成ORM映射的时候,为什么会出现两个POJO类呢?
比如说我有一个数据库表biao 有字段id ,name ,sex ,我做这个映射的时候会自动生成两个POJO类,生成Biao.java和BiaoId.java文件,我看它们都是生成一个的啊,我想操作的时候是针对哪个类呢
------解决方案--------------------
采用自动生成时,插件会将组合主键或没有主键的表拆为两个Bo文件,分别用于存放主键与全部字段,后者包含前者。使用时用后者即Biao.java。
当有唯一主键时,生成时只有一个bo文件。
说明三:
组合主键的问题
解决:下面用实例说明
例如在Oracle中创建了Tlogin1数据库表。
-- Create table
createtable TLOGIN1
(
id NUMBERnotnull,
loginname VARCHAR2(255),
username VARCHAR2(255),
password VARCHAR2(255),
picurl VARCHAR2(255)
)
tablespaceUSERS
pctfree10
initrans1
maxtrans255
storage
(
initial64K
next1M
minextents1
maxextentsunlimited
);
采用反向工程时生成
且不论怎么改 反向生成 Myeclipse Database Explorer里的配置文件,都没有用。最后查询到是没有对表设置主键。
采用pl\sql Developer来创建(视图创建,查看的代码):
-- Create/Recreateprimary, unique and foreign key constraints
alter table TLOGIN1
add constraint ID primary key (ID)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
如有疑问或好的建议:欢迎留言和发邮件至笔者fzb_xxzy@163.com
前言:利用Myeclipse反向创建POJO,一些表创建Xxx.java和Xxx.hbm.xml两个文件;但是有些表创建Ttt.java\TttId.java\Ttt.hbm.xml三个文件。一直比较无语,在MyeclipseDatabase Explorer和hibernate.cfg.xml中寻找很长时间原因。
说明一:
表的配置文件中没有指定主键,
Hibernate默认把表中所有字段认为是联合主键了。
说明二:
在演示hibernate练习的时候,我在生成ORM映射的时候,为什么会出现两个POJO类呢?
比如说我有一个数据库表biao 有字段id ,name ,sex ,我做这个映射的时候会自动生成两个POJO类,生成Biao.java和BiaoId.java文件,我看它们都是生成一个的啊,我想操作的时候是针对哪个类呢
------解决方案--------------------
采用自动生成时,插件会将组合主键或没有主键的表拆为两个Bo文件,分别用于存放主键与全部字段,后者包含前者。使用时用后者即Biao.java。
当有唯一主键时,生成时只有一个bo文件。
说明三:
组合主键的问题
解决:下面用实例说明
例如在Oracle中创建了Tlogin1数据库表。
-- Create table
createtable TLOGIN1
(
id NUMBERnotnull,
loginname VARCHAR2(255),
username VARCHAR2(255),
password VARCHAR2(255),
picurl VARCHAR2(255)
)
tablespaceUSERS
pctfree10
initrans1
maxtrans255
storage
(
initial64K
next1M
minextents1
maxextentsunlimited
);
采用反向工程时生成
且不论怎么改 反向生成 Myeclipse Database Explorer里的配置文件,都没有用。最后查询到是没有对表设置主键。
采用pl\sql Developer来创建(视图创建,查看的代码):
-- Create/Recreateprimary, unique and foreign key constraints
alter table TLOGIN1
add constraint ID primary key (ID)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
如有疑问或好的建议:欢迎留言和发邮件至笔者fzb_xxzy@163.com
相关文章推荐
- 用HIBERNATE反向工程生成POJO后配置文件没有更新的问题
- 使用myeclipse的hibernate reverse engineering(反向工程)的两个问题
- 使用myeclipse的反向工程来生成相应的hibernate映射文件和POJO类
- 关于eclipse没有hibernate包的问题及更改反向工程文件生成的属性类型问题
- Hibernate生成映射文件及POJO时遇到的问题(转)
- mysql反向生成hbm.xml后,由hibernate向sql写数据中文出现乱码问题
- hibernate的反向工程碰到两个蛮麻烦的问题
- MyEclipse配置Hibernate/MyEclipse反向工程从数据表生成POJO和对象关系映射文件(以及HibernateSessionFactory)
- 通过Hibernate code generation configration反向生成实体类出现的问题
- 使用myeclipse的hibernate reverse engineering(反向工程)的两个问题
- 在myeclipse10环境下,用hibernate反向生成工具生成pojo文件,并自动按照模板文件添加注释
- 使用myeclipse的反向工程生成hibernate映射文件(.hbm.xml)和pojo类
- hibernate3.0通过eclipse插件自动生成pojo和map报Table 'table_name' doesn't exist找不到问题
- 关于hibernate反向生成实体类的问题-没有主键的表映射
- eclipse使用hibernate插件生成反向工程问题
- MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程
- Hibernate反向工程-——Myeclipse从数据库反向生成Java类
- Hibernate中用left join(左外连接)查询映射中没有关联关系的两个表记录问题
- idea反向生成hibernate实体类详解
- hibernate通过数据库表反向生成实体类