jpa 关系映射 如何才能不建立外键关系

zcybb 2014-01-23 03:54:52
数据库中已经有了一些有联系的表,但是表之间没有建立外键关系,现在使用jpa注解@OneToOne进行关联查询,但是启动项目后自动使数据库中的表建立了外键关系,如何才能只在Entity中定义OneToMany 和ManyToOne 等映射关系,而不在数据表中建立外键关系。
...全文
2745 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
一个人喝不醉 2016-08-11
  • 打赏
  • 举报
回复
数据库层的主外键实在太恶心了,,,会有很多麻烦,而且不好管理
NPPPNHHH 2016-06-07
  • 打赏
  • 举报
回复
引用 9 楼 binbindog 的回复:
我之前遇到过类似问题,是因为我在application.xml文件中配置了以下 <prop key="hibernate.hbm2ddl.auto">update</prop> 改为<prop key="hibernate.hbm2ddl.auto">none</prop>就好了
正解
Disorganized 2016-04-13
  • 打赏
  • 举报
回复
我之前遇到过类似问题,是因为我在application.xml文件中配置了以下 <prop key="hibernate.hbm2ddl.auto">update</prop> 改为<prop key="hibernate.hbm2ddl.auto">none</prop>就好了
GoogleFan 2015-12-16
  • 打赏
  • 举报
回复
楼主解决没啊? 我也遇到该问题。就是想设计 数据库中不要去 建立 外键关系,但是在 jpa操作中 配置关联关系
zcybb 2014-01-24
  • 打赏
  • 举报
回复
引用 6 楼 wenhaoxp1987 的回复:
你换一个试试吧,我现在用的是2.0的
2.0么? 我用的是spring data jpa(spring data common 1.5,spring data jpa 1.3) 这个还没有2哦
wenhaoxp1987 2014-01-23
  • 打赏
  • 举报
回复
你换一个试试吧,我现在用的是2.0的
zcybb 2014-01-23
  • 打赏
  • 举报
回复
引用 4 楼 wenhaoxp1987 的回复:
只要在实体类中加上注解关联是可以的,也不会加上关联关系的,我一直用都没问题,什么版本的jpa,没出现过你的那种会自动加上外键,你是直接生成表的还是已经存在表了 或是可以不要用关联,直接用sql查询然后生成实体,
1.3的jpa 我是数据库中已经存在表了,反正每次启动就会在数据库表中加外键关系 实体类中是这样注解的 @OneToOne(fetch=FetchType.LAZY) @JoinColumn(name="exec_dept",referencedColumnName="dept_sn",insertable=false,updatable=false) private DicDeptCode dicDeptCode; 求指点一下
wenhaoxp1987 2014-01-23
  • 打赏
  • 举报
回复
只要在实体类中加上注解关联是可以的,也不会加上关联关系的,我一直用都没问题,什么版本的jpa,没出现过你的那种会自动加上外键,你是直接生成表的还是已经存在表了 或是可以不要用关联,直接用sql查询然后生成实体,
  • 打赏
  • 举报
回复
这个实现不了。。。
zcybb 2014-01-23
  • 打赏
  • 举报
回复
引用 1 楼 wenhaoxp1987 的回复:
jpa本来就是和表进行映射的只不过是从单纯的配置文件改为注解,原理都一样的,肯定是和数据库表进行关联的
我就只是想在实体类中注解@onetoone来查询相关的数据,不想在数据库表中设置外键关系,因为设置外键会有很多麻烦。也就是说,抛开数据库设计规范来说,我的数据库表关系完全依赖jpa映射,而不是依赖数据库表中建立的外键(我没创建任何外键关联,只是在表中建有另外表的主键字段),但是现在程序已启动就会在数据表中加外键关系。求指教
wenhaoxp1987 2014-01-23
  • 打赏
  • 举报
回复
jpa本来就是和表进行映射的只不过是从单纯的配置文件改为注解,原理都一样的,肯定是和数据库表进行关联的

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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