数据库中没有设置主键,hibernate映射文件里面却指定了某个字段为主键,会不会有问题?

huabingl 2008-05-20 10:48:51
数据库中没有设置主键,hibernate映射文件里面却指定了某个字段为主键,会不会有问题?有哪些问题?
...全文
630 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
修身0 2011-02-28
  • 打赏
  • 举报
回复
这是必须有的!我在面试的时候就出现了这样的情况!
maodie007 2008-05-20
  • 打赏
  • 举报
回复
没问题 但是最好请确保你自己定义的那个主键列的唯一性
不然查询出来的记录本来有2条 但是只会查出一条

不会报错
M_song 2008-05-20
  • 打赏
  • 举报
回复
请查看深入浅出hibernate实体映射那一节!
huabingl 2008-05-20
  • 打赏
  • 举报
回复
官方对这个问题怎么解释的?
M_song 2008-05-20
  • 打赏
  • 举报
回复
@hibernate.id generator-class="sequence" column=""
如果不加id,可以指定为主键的那个字段上加这句!
M_song 2008-05-20
  • 打赏
  • 举报
回复
不会报错的,没问题,可以使用!
我在项目中用过!
另外:建议对每个实体都加个id!
huabingl 2008-05-20
  • 打赏
  • 举报
回复
事实上目前没看到错误,想知道其中原因。

code 如下:
<hibernate-mapping>
<class name="com.ibm.bmcc.cpp.model.TAppAuthorized" table="T_APP_AUTHORIZED" schema="DB2INST1" dynamic-insert="true" dynamic-update="true">
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="native" />
</id>
<property name="entryId" type="java.lang.Integer">
<column name="ENTRY_ID" />
</property>
<property name="userAId" type="java.lang.String">
<column name="USER_A_ID" />
</property>
<property name="userBId" type="java.lang.String">
<column name="USER_B_ID" />
</property>
<property name="createTime" type="java.util.Date">
<column name="CREATE_TIME" />
</property>
</class>
</hibernate-mapping>

ddl如下
CREATE TABLE T_APP_AUTHORIZED
(ID INTEGER NOT NULL GENERATED BY DEFAULT
AS IDENTITY (START WITH 1, INCREMENT BY 1, NO CACHE, MINVALUE 1, MAXVALUE 2147483647, NO CYCLE, NO ORDER),
ENTRY_ID BIGINT,
USER_A_ID VARCHAR(64),
USER_B_ID VARCHAR(64),
CREATE_TIME TIMESTAMP
);
求解。。
burningice44 2008-05-20
  • 打赏
  • 举报
回复
肯定对应 不了
会报错吧
M_song 2008-05-20
  • 打赏
  • 举报
回复
hibernate映射文件实体一定要指定主键!
bojianyu 2008-05-20
  • 打赏
  • 举报
回复
听不懂,帮顶
loglos 2008-05-20
  • 打赏
  • 举报
回复
项目用过jpa,好多数据库里没有设置主键,没报错!

但如果不设置主键,可能有冲突!

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧