jpa,hibernate小结

本文深入探讨了JPA作为规范,以及Hibernate作为JPA实现的具体应用。阐述了如何在实体类中使用OneToOne、OneToMany、ManyToMany等关系映射,以及如何在增删改查操作中与Hibernate进行交互。详细解析了实体间的关联关系,包括单向和双向关联,并通过实例展示了如何在不同类型的关联关系中配置实体类。

jpa是规范,hibernate是实现,jpa是hibernate的一个抽象
(如JDBC和JDBC驱动的关系)

hibernate是继承自jpa
OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性

left outer join


映射关联关系

(单向)CUSTOMER与ORDER
多对一
----ORDER中配置如下,CUSTOMER不用配置
@JoinColumn(name="CUSTOMER_ID")
@ManyToOne
public Customer customer;
    
一对多
----CUSTOMER中配置如下,ORDER不用配置
@JoinColumn(name="CUSTOMER_ID")
@OneToMany
public Set<Order> orders = new HashSet<>();


(双向)
多对一
----ORDER中配置如下
@JoinColumn(name="CUSTOMER_ID")
@ManyToOne
public Customer customer;

----CUSTOMER中配置如下
@OneToMany(mappedBy="customer")
public Set<Order> orders = new HashSet<>();


一对一
----CARD中配置如下
@OneToOne(mappedBy="card")
public Card card;

----PERSON中配置如下
@JoinColumn(name="CARD_ID",unique=true)
@OneToOne(fetch=FetchType.LAZY)
public Person person;

多对多
----ITEM中配置如下
@ManyToMany
@JoinTable(name="CATEGORY_ITEM",
joinColumns={@joinColumn(name="CATEGORY_ID",referencedColumnName="CATEGORY_ID")},
joinColumns={@inverseJoinColumn(name="ITEM_ID",referencedColumnName="ITEM_ID")})
public Set<Item> items = new HashSet<>();

----CATEGORY中配置如下
@ManyToMany(mappedBy="items")
public Set<Category> categories = new HashSet<>();



-----------------------
增删改查:与hibernate基本有对应


转载于:https://my.oschina.net/WWWW23223/blog/614610

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值