Hibernate:反向生成的pojo有两个的问题

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

  1. createtable TLOGIN1
  2. (
  3.   id       NUMBERnotnull,
  4.   loginname VARCHAR2(255),
  5.   username VARCHAR2(255),
  6.   password VARCHAR2(255),
  7.   picurl   VARCHAR2(255)
  8. )
  9. tablespaceUSERS
  10.   pctfree10
  11.   initrans1
  12.   maxtrans255
  13.   storage
  14.   (
  15.     initial64K
  16.     next1M
  17.     minextents1
  18.     maxextentsunlimited
  19.   );

 

采用反向工程时生成




且不论怎么改 反向生成 Myeclipse Database Explorer里的配置文件,都没有用。最后查询到是没有对表设置主键。

 

采用pl\sql Developer来创建(视图创建,查看的代码):

 

-- Create/Recreateprimary, unique and foreign key constraints

  1. alter table TLOGIN1
  2.   add constraint ID primary key (ID)
  3.   using index
  4.   tablespace USERS
  5.   pctfree 10
  6.   initrans 2
  7.   maxtrans 255
  8.   storage
  9.   (
  10.     initial 64K
  11.     next 1M
  12.     minextents 1
  13.     maxextents unlimited
  14.   );

 

 

 



如有疑问或好的建议:欢迎留言和发邮件至笔者fzb_xxzy@163.com

 

 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值