jpa,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基本有对应


你可能感兴趣的:(jpa,hibernate小结)