在appfuse2下写个测试,用到了一对多,看看了资料,开整,commoneclipse插件已经装好,就等把pojo写好以为就OK了,第一次运行mvn compile hibernate3:hbm2ddl,报个什么net错误,一想,哦,mysql用的绿色的,每次还要手动启动服务,然后,还是报错,这次是报一个pojo里的一个属性是未知类型,一想,哦,hibernate.cfg.xml里加载pojo的顺序是不是也要好好写一下呢,不然,先编译“Many”方,“One”方还没有呢,是不是就这样才报错了呢?调整顺序试了试,还是不行,还是未知的属性。
昨天做电子方面的同学拿我的java书也开始学编程了,照着书上敲最简单的一个程序,输出java的基本数据类型,但是就是输不出来,一会这儿错一会那儿错,五花八门,无所不有,我在忙自己的事随口就说他肯定是没有按照书上的敲,肯定是敲错了,但是问题还是没有解决,因为他一口咬定没有敲错,就是按照书上敲的,后来过去看了下,原来他的按照书上敲是敲了,但是没有敲在main方法里面,正好那书翻了一页,他就敲方法外面,没有方法调用,自然没有输出了。
我就开始想这个问题,别人就是这样做的,pdf的教程里也是这么写的,为什么就出错了,为什么就报没有这个属性呢?原因一,我写的不对,犯了低级错误;原因二,我理解的不对,写出了错误的代码。检查了几遍,肯定是第二个原因了。再仔细看看书。
@OneToMany(
fetch = FetchType.LAZY,mappedBy = "company_id")
public List<Message> getMessages() {
return messages;
}
就是报这个company_id是未知属性,按照我的理解,在Message里有
private Company company;
应该是Message拿Company的ID做外键,那么mappedBy="company_id"就理所当然了。但是它却报错了,说这个属性未知,那么,这个里面的值并不是作为取Company的每个字段,应该是取Message的一个属性,那么就应该是
@OneToMany(
fetch = FetchType.LAZY,mappedBy = "company")
public List<Message> getMessages() {
return messages;
}
因为在Message里定义了
private Company company;
mappedBy的值应该是“Many”需要的“One”的属性,又仔细看了下JPA的文档,果然,原来这么久以来还真的是自己理解错了。
总结下,实践是检验真理的唯一标准。
分享到:
相关推荐
JPA_OneToMany学习教程JPA_OneToMany学习教程JPA_OneToMany学习教程JPA_OneToMany学习教程
NULL 博文链接:https://lc2586.iteye.com/blog/721309
JPA课程manyToMany OneToMany 等全部测试 注解, 有注释
这是JPA标签配置手册,从ORACLE官方得到的资料,里面对JPA所有的标签都进行详细的说明。 Index of Annotations • A o @AssociationOverride o @AssociationOverrides o @AttributeOverride o @AttributeOverrides ...
主要介绍了Spring集成JPA配置懒加载报错解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Spring Data JPA API。 Spring Data JPA 开发文档。 官网 Spring Data JPA API。
这个demo同时整合了springboot+JPA+mybatis这个两个orm框架。
JPA教程JPA教程JPA教程JPA教程JPA教程
jpa jpa规范 jpa源码 jpa jpa规范 jpa源码
· 0. JPA视频_PPT及源码 · 1.... JPA视频_JPQL_ORDER BY 和 GROUP BY · 21. JPA视频_JPQL_关联查询 · 22. JPA视频_JPQL_子查询和内建函数 · 23. JPA视频_JPQL_DELETE和UPDATE · 24. JPA视频_整合Spring
jpajpajpajpajpajpajpajpajpajpajpajpajpa
包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注
学习hibernate必读,包括JPA2新特征和JPA2映射的神秘之旅两个pdf。
Spring Boot,Maven和MySQL的JPA一对多关系示例 指南 先决条件 JDK 1.8或更高版本 Maven 3或更高版本 MySQL 5.6或更高版本 叠放 Spring Data JPA Sprint Boot MySQL 跑 mvn spring-boot:run
JPA注解创建数据库表 和hibernate.cfg.xml 建表
jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联...
JPA和Hibernate的关系,JPA:Java Persistence APIJPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
Spring data jpa 多表联查 一对多的关系和操作多表的操作步骤 客户:一家公司 联系人:这家公司的员工
idea下,使用SringBoot搭建SSM和JPA和不用SpringBoot搭建SSM和Mybatis映射数据库
Java Web高级编程 涵盖WebSockets、Spring Framework、JPA Hibernate和Spring Security, 有目录,很清晰